当前位置: 首页 > 专利查询>辉达公司专利>正文

同步图形执行制造技术

技术编号:38932589 阅读:31 留言:0更新日期:2023-09-25 09:36
用于促进执行图形同步的装置、系统和技术。在至少一个实施例中,包括一个或更多个参数的应用编程接口用于在图形代码节点与一个或更多个软件例程之间创建依赖性。或更多个软件例程之间创建依赖性。或更多个软件例程之间创建依赖性。

【技术实现步骤摘要】
【国外来华专利技术】同步图形执行
[0001]相关申请的交叉引用
[0002]要求优先权
[0003]本申请要求2021年9月16日提交的标题为“同步图形执行(Synchronizing Graph Execution)”的美国专利申请No.17/477,410的权益,出于所有的目的,将其全文并入本文。


[0004]至少一个实施例涉及用于执行一个或更多个CUDA程序的处理资源。例如,至少一个实施例涉及用于执行使用执行图形实例化的一个或更多个CUDA程序和使用外部事件使该执行同步的处理器或计算系统。

技术介绍

[0005]顺序地执行计算操作可以使用显著的存储器、时间或计算资源,特别是当此类计算操作必须空闲地等待其他操作完成时。用于执行计算操作的存储器、时间或计算资源的量可以通过使用实例化的执行图形来配置GPU以有效地和/或并行地执行计算操作来改进。
附图说明
[0006]图1示出了根据至少一个实施例的用于定义和实例化执行图形的示例计算系统;
[0007]图2示出了根据至少一个实施例的示例执行图形模板;
[0008]图3示出了根据至少一个实施例的实例化执行图形的示例流图;
[0009]图4示出了根据至少一个实施例的实例化执行图形的示例启动序列;
[0010]图5示出了根据至少一个实施例的实例化执行图形的示例重复启动序列;
[0011]图6示出了根据至少一个实施例的用于构建和启动执行图形的示例过程;
[0012]图7示出了根据至少一个实施例的与外部过程同步的示例执行图形模板;
[0013]图8示出了根据至少一个实施例的与外部过程同步的执行图形的示例流图;
[0014]图9示出了根据至少一个实施例的用于使执行图形与外部过程同步的示例过程;
[0015]图10示出了根据至少一个实施例的与外部过程同步的示例执行图形模板;
[0016]图11示出了根据至少一个实施例的与外部过程同步的执行图形的示例流图;
[0017]图12示出了根据至少一个实施例的用于使执行图形与外部过程同步的示例过程;
[0018]图13示出了根据至少一个实施例的与外部执行图形模板同步的示例执行图形模板;
[0019]图14示出了根据至少一个实施例的具有自参考式同步的示例执行图形模板;
[0020]图15示出了根据至少一个实施例的与外部过程同步的第一执行图形的示例流图,该外部过程与第二执行图形的流图同步;
[0021]图16示出了根据至少一个实施例的示例性数据中心;
[0022]图17示出了根据至少一个实施例的处理系统;
[0023]图18示出了根据至少一个实施例的计算机系统;
[0024]图19示出了根据至少一个实施例的系统;
[0025]图20示出了根据至少一个实施例的示例性集成电路;
[0026]图21示出了根据至少一个实施例的计算系统;
[0027]图22示出了根据至少一个实施例的APU;
[0028]图23示出了根据至少一个实施例的CPU;
[0029]图24示出了根据至少一个实施例的示例性加速器集成切片;
[0030]图25A和图25B示出了根据至少一个实施例的示例性图形处理器;
[0031]图26A示出了根据至少一个实施例的图形核心;
[0032]图26B示出了根据至少一个实施例的GPGPU;
[0033]图27A示出了根据至少一个实施例的并行处理器;
[0034]图27B示出了根据至少一个实施例的处理集群;
[0035]图27C示出了根据至少一个实施例的图形多处理器;
[0036]图28示出了根据至少一个实施例的图形处理器;
[0037]图29示出了根据至少一个实施例的处理器;
[0038]图30示出了根据至少一个实施例的处理器;
[0039]图31示出了根据至少一个实施例的图形处理器核心;
[0040]图32示出了根据至少一个实施例的PPU;
[0041]图33示出了根据至少一个实施例的GPC;
[0042]图34示出了根据至少一个实施例的流式多处理器;
[0043]图35示出了根据至少一个实施例的编程平台的软件栈;
[0044]图36示出了根据至少一个实施例的图35的软件栈的CUDA实现;
[0045]图37示出了根据至少一个实施例的图35的软件栈的ROCm实现;
[0046]图38示出了根据至少一个实施例的图35的软件栈的OpenCL实现;
[0047]图39示出了根据至少一个实施例的由编程平台支持的软件;
[0048]图40示出了根据至少一个实施例的在图35

38的编程平台上执行的编译代码;
[0049]图41示出了根据至少一个实施例的在图35

38的编程平台上执行的更详细的编译代码;
[0050]图42示出了根据至少一个实施例的在编译源代码之前转换源代码;
[0051]图43A示出了根据至少一个实施例的被配置为使用不同类型的处理单元来编译和执行CUDA源代码的系统;
[0052]图43B示出了根据至少一个实施例的被配置为使用CPU和启用CUDA的GPU来编译和执行图形43A的CUDA源代码的系统;
[0053]图43C示出了根据至少一个实施例的被配置为使用CPU和未启用CUDA的GPU来编译和执行图形43A的CUDA源代码的系统;
[0054]图44示出了根据至少一个实施例的由图43C的CUDA到HIP转换工具转换的示例性内核;
[0055]图45更详细地示出了根据至少一个实施例的图43C的未启用CUDA的GPU;以及
[0056]图46示出了根据至少一个实施例的示例性CUDA网格的线程如何被映射到图45的不同计算单元;以及
[0057]图47示出了根据至少一个实施例的如何将现有CUDA代码迁移到数据并行C++代码。
具体实施方式
[0058]图1示出了根据至少一个实施例的用于定义和实例化执行图形的示例计算系统100。在至少一个实施例中,处理器102包括处理器存储器104。在至少一个实施例中,处理器102是单核处理器。在至少一个实施例中,处理器102是多核处理器。在至少一个实施例中,一个或更多个附加处理器(未示出)连接到处理器存储器104。在至少一个实施例中,处理器102是处理系统(诸如本文中描述的处理系统1700)的元件。在至少一个实施例中,处理器102是诸如本文中描述的计算机系统1800之类的计算机系统的元件。在至少一个实施例中,处理器102是诸如本文中描述的系统1900之类的系统的元件。在至少一个实施例中,处理器102是计算系统(诸如本文中描述的计算系统2100)的元件。在至少一个实施例中,处理器102是诸如本文中描述的计算单元4540之类的计算单元的元件。
[0059]在至本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种应用编程接口(API),包括:一个或更多个参数,用于在一个或更多个图形代码节点与一个或更多个软件例程之间创建一个或更多个依赖性。2.根据权利要求1所述的API,其中:所述一个或更多个参数中的一个或更多个参数定义所述一个或更多个图形代码节点中的事件等待节点;以及所述事件等待节点在所述事件等待节点与所述一个或更多个软件例程之间创建所述一个或更多个依赖性中的依赖性。3.根据权利要求1所述的API,其中:所述一个或更多个参数中的一个或更多个参数定义所述一个或更多个图形代码节点中的事件记录节点;以及所述事件记录节点在所述事件记录节点与所述一个或更多个软件例程之间创建所述一个或更多个依赖性中的依赖性。4.根据权利要求1所述的API,其中:所述一个或更多个参数中的一个或更多个参数定义所述一个或更多个图形代码节点中的信号标等待节点;以及所述信号标等待节点在所述信号标等待节点与所述一个或更多个软件例程之间创建所述一个或更多个依赖性中的依赖性。5.根据权利要求1所述的API,其中:所述一个或更多个参数中的一个或更多个参数定义所述一个或更多个图形代码节点中的信号标信号节点;以及所述信号标信号节点在所述信号标信号节点与所述一个或更多个软件例程之间创建所述一个或更多个依赖性中的依赖性。6.根据权利要求1所述的API,其中所述一个或更多个软件例程中的软件例程是图形实例。7.一种处理器,包括:一个或更多个电路,用于至少部分地基于包括一个或更多个参数的应用编程接口(“API”)在图形代码节点与软件例程之间创建依赖性。8.根据权利要求7所述的处理器,其中所述软件例程在中央处理单元(“CPU”)上执行。9.根据权利要求7所述的处理器,其中所述软件例程在图形处理单元(“GPU”)上执行。10.根据权利要求7所述的处理器,其中所述软件例程在并行处理单元(“PPU”)上执行。11.根据权利要求7所述的处理器,其中:所述图形代码节点是事件等待节点;所述一个或更多个参数中的一个或更多个参数指定与所述事件等待节点相关联的事件;以及所述软件例程在由所述处理器执行时,记录所述事件。12.根据权利要求7所述的处理器,其中:所述图形代码节点是事件记录节点;所述一个或更多个参数中的一个或更多个参数指定与所述事件记录节点相关联的事
件;以及所述软件例程在由所述处理器执行时,等待所述事件。13.根据权利要求7所述的处理器,其中:所述图形代码节点是信号标等待节点;所述一个或更多个参数中的一个或更多个参数指定与所述信号标等待节点相关联的信号标;以及所述软件例程在由所述处理器执行时,告知所述信号标。14.根据权利要求7所述的处理器,其中:所述图形代码节点是信号标信号节点;所述一个或更多个参数中的一个或更多个参数指定与所述信号标信号节点相关联的信号标;以及所述软件例程在由所述处理器执行时,等待所述信号标。15.根据权利要求7所述的处理器,其中所述图形代码节点将用户操作符发送至所述软件例程。16.根据权利要求7所述的处理器,其中所述图形代码节点从所述软件例程接收用户操作符。17.一种方法,包括:至少部分地基于包括一个或更多个参数的应用编程接口(“API”),在一个或更多个图形代码节点与一个或更多个软件例程之间创建一个或更多个依赖性。18.根据权利要求17所述的方法,其中:所述一个或更多个软件例程中的软件例程是图形实例;所述图形实例包括第二一个或更多个图形代码节点;以及所述一个或更多个依赖性中的依赖性是所述图形代码节点中的第一图形代码节点与所述第二一个或更多个图形代码节点中的第二图形代码节点之间的依赖性。19.根据权利要求17所述的方法,其中所述一个或更多个依赖性中的依赖性是由所述一个或更多个参数中的一个或更多个参数指定的事件。20.根据权利要求17所述的方法,其中所述一个或更多个依赖性中的依赖性是由所述一个或更多个参数中的一个或更多个参数指定的信号标。21.根据权利要求17所述的方法,还包括:使用包括所述一个或更多个参数中的一个或更多个参数的第二API创建节点,其中所述第二API在所述节点与所述一个或更多个图形代码节点中的一个或更多个之间创建依赖性;使用所述一个或更多个参数将事件与所述节点相关联;以及至少部分地基于所述节点与所述一个或更多个图形代码节点中的所述一个...

【专利技术属性】
技术研发人员:D
申请(专利权)人:辉达公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1