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

用于设置图形资源的应用编程接口制造技术

技术编号:37059059 阅读:19 留言:0更新日期:2023-03-29 19:35
本公开涉及用于设置图形资源的应用编程接口。用于实例化执行图资源的装置、系统和技术。在至少一个实施例中,在由并行处理单元(PPU)执行所述一个或更多个执行图之前,初始化由一个或更多个执行图使用的所述PPU的一个或更多个计算资源。或更多个计算资源。或更多个计算资源。

【技术实现步骤摘要】
用于设置图形资源的应用编程接口


[0001]至少一个实施例涉及用于使用一个或更多个并行处理单元(PPU)执行一个或更多个程序的处理资源。例如,至少一个实施例涉及用于执行应用编程接口(API)以实例化一个或更多个并行处理单元的计算资源来执行一个或更多个执行图(execution graph)的处理器和/或计算系统。

技术介绍

[0002]顺序地执行计算操作可以使用大量的内存、时间和/或计算资源。为了改善计算操作的性能,可以使用各种并行处理单元(PPU)。由各种PPU执行的计算操作被实现为软件内核,并且每个软件内核必须在被执行之前初始化PPU资源。执行图通过对这些软件内核进行分组并初始化所需的PPU资源来简化软件内核操作。
附图说明
[0003]图1是根据至少一个实施例的示出了将由并行处理单元(PPU)执行的软件内核的框图;
[0004]图2是根据至少一个实施例的示出了用于创建执行图的步骤的框图;
[0005]图3是根据至少一个实施例的示出了由PPU执行的执行图的框图;
[0006]图4A是根据至少一个实施例的示出了用于最初执行执行图的步骤的框图;
[0007]图4B是根据至少一个实施例的示出了用于执行执行图的后续执行的步骤的框图;
[0008]图5是根据至少一个实施例的示出了由执行图的一个或更多个软件内核利用的PPU的预实例化的执行资源的框图;
[0009]图6A是根据至少一个实施例的示出了用于预实例化PPU执行资源的步骤的框图;
[0010]图6B是根据至少一个实施例的示出了在预实例化PPU执行资源后执行执行图的步骤的框图;
[0011]图7A是根据至少一个实施例的示出了使用PPU的单一通道对一个或更多个执行图资源的实例化的框图;
[0012]图7B是根据至少一个实施例的示出了使用PPU的单一通道对一个或更多个执行图资源的预实例化的框图;
[0013]图8示出了根据至少一个实施例的用于执行图资源的预实例化的过程;
[0014]图9示出了根据至少一个实施例的示例性数据中心;
[0015]图10示出了根据至少一个实施例的处理系统;
[0016]图11示出了根据至少一个实施例的计算机系统;
[0017]图12示出了根据至少一个实施例的系统;
[0018]图13示出了根据至少一个实施例的示例性集成电路;
[0019]图14示出了根据至少一个实施例的计算系统;
[0020]图15示出了根据至少一个实施例的APU;
[0021]图16示出了根据至少一个实施例的CPU;
[0022]图17示出了根据至少一个实施例的示例性加速器集成切片;
[0023]图18A和图18B示出了根据至少一个实施例的示例性图形处理器;
[0024]图19A示出了根据至少一个实施例的图形核心;
[0025]图19B示出了根据至少一个实施例的GPGPU;
[0026]图20A示出了根据至少一个实施例的并行处理器;
[0027]图20B示出了根据至少一个实施例的处理集群;
[0028]图20C示出了根据至少一个实施例的图形多处理器;
[0029]图21示出了根据至少一个实施例的图形处理器;
[0030]图22示出了根据至少一个实施例的处理器;
[0031]图23示出了根据至少一个实施例的处理器;
[0032]图24示出了根据至少一个实施例的图形处理器核心;
[0033]图25示出了根据至少一个实施例的PPU;
[0034]图26示出了根据至少一个实施例的GPC;
[0035]图27示出了根据至少一个实施例的流式多处理器;
[0036]图28示出了根据至少一个实施例的编程平台的软件栈;
[0037]图29示出了根据至少一个实施例的图28的软件栈的CUDA实现;
[0038]图30示出了根据至少一个实施例的图28的软件栈的ROCm实现;
[0039]图31示出了根据至少一个实施例的图28的软件栈的OpenCL实现;
[0040]图32示出了根据至少一个实施例的由编程平台支持的软件;
[0041]图33示出了根据至少一个实施例的在图28

31的编程平台上执行的编译代码;
[0042]图34示出了根据至少一个实施例的在图28

31的编程平台上执行的更详细的编译代码;
[0043]图35示出了根据至少一个实施例的在编译源代码之前转换源代码;
[0044]图36A示出了根据至少一个实施例的被配置为使用不同类型的处理单元来编译和执行CUDA源代码的系统;
[0045]图36B示出了根据至少一个实施例的被配置为使用CPU和启用CUDA的GPU来编译和执行图36A的CUDA源代码的系统;
[0046]图36C示出了根据至少一个实施例的被配置为使用CPU和未启用CUDA的GPU来编译和执行图36A的CUDA源代码的系统;
[0047]图37示出了根据至少一个实施例的由图36C的CUDA到HIP转换工具转换的示例性内核;
[0048]图38更详细地示出了根据至少一个实施例的图36C的未启用CUDA的GPU;以及
[0049]图39示出了根据至少一个实施例的示例性CUDA网格的线程如何被映射到图38的不同计算单元;以及
[0050]图40示出了根据至少一个实施例的如何将现有CUDA代码迁移到数据并行C++代码。
bank)。
[0056]在至少一个实施例中,执行资源316是图形计算资源。在至少一个实施例中,图形计算资源是由一个或更多个PPU 106执行的每个内核108、110、112所使用或可使用的执行资源316。在至少一个实施例中,要由一个或更多个PPU 106(诸如GPU)执行的每个内核108、110、112可使用或所使用的执行资源120必须被实例化114、116、118。在至少一个实施例中,实例化(instantiation)114、116、118是软件指令,当其被执行时,配置执行资源120以存储由一个或更多个内核108、110、112生成的数据值。在至少一个实施例中,配置执行资源120包括初始化和/或更新执行资源120,诸如寄存器或其他存储器,或在一个或更多个PPU 106执行期间由一个或更多个内核108、110、112使用的其他处理器资源。在至少一个实施例中,实例化114、116、118包括将一个或更多个执行资源120设置为初始状态。在至少一个实施例中,实例化114、116、118包括更新一个或更多个执行资源120,作为由一个或更多个PPU执行一个或更多个内核108、110、112的结果。在至少一个实施例中,实例化114、116、118包括更新使用一个或更多个执行资源120存储的一个或更多个数据值,以便准备所述数据值在随后由一个或更多个PPU 106(诸如GPU本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器,包括:一个或更多个电路,用于使得一个或更多个图形计算资源独立于软件程序进行配置,以便至少部分地基于应用编程接口API使用所述一个或更多个图形计算资源。2.根据权利要求1所述的处理器,其中所述软件程序包括将由一个或更多个并行处理单元PPU执行的执行图的一个或更多个内核,所述一个或更多个图形计算资源包括在由所述一个或更多个PPU执行任何所述一个或更多个内核之前进行配置的所述一个或更多个PPU的存储器。3.根据权利要求1所述的处理器,其中当所述一个或更多个图形计算资源在执行所述软件程序的一个或更多个软件内核之前被实例化时,所述一个或更多个图形计算资源被独立地配置。4.根据权利要求1所述的处理器,其中当并行处理单元PPU的所述一个或更多个图形计算资源被初始化以由所述软件程序的执行图的一个或更多个内核使用时,所述一个或更多个图形计算资源被配置。5.根据权利要求1所述的处理器,其中所述一个或更多个图形计算资源是通过使用所述软件程序先前生成的数据更新所述一个或更多个图形计算资源而配置的。6.根据权利要求1所述的处理器,其中所述一个或更多个图形计算资源是响应于对所述API的执行所述软件程序的执行图的一个或更多个内核的指示而被配置的。7.根据权利要求1所述的处理器,其中所述一个或更多个图形计算资源是将由所述软件程序的执行图使用的并行处理单元PPU的存储器资源。8.根据权利要求1所述的处理器,其中所述API包括用于使得并行处理库配置所述一个或更多个图形计算资源的一个或更多个指令。9.一种系统,包括用于存储指令的存储器,所述指令作为一个或更多个处理器执行的结果,使得所述系统:使得一个或更多个图形计算资源独立于软件程序进行配置,以便至少部分地基于应用编程接口API使用所述一个或更多个图形计算资源。10.根据权利要求9所述的系统,其中所述指令作为由所述一个或更多个处理器执行的结果,进一步使得所述系统分配所述一个或更多个图形计算资源的一个或更多个存储器区域。11.根据权利要求9所述的系统,其中所述API包括指令,所述指令作为由所述一个或更多个处理器执行的结果,使得所述一个或更多个图形计算资源是能够由所述软件程序的执行图的一个或更多个内核使用的。12.根据权利要求9所述的系统,其中所述指令作为由所述一个或更多个处理器执行的结果,进一步使得所述系统初始化所述一个或更多个图形计算资源的一个或更多个存储器区域。13.根据权利要求9所述的系统,其中所述指令作为由所述一个或更多个处理器执行的结果,进一步使得所述系统使用由所述软件程序生成的一个或更多个数据值来更新所述一个或更多个图形计算资源。14.根据权利要求9所述的系统,其中所述软件程序包括将由一个或更多个并行处理单元PPU执行的执行图的一个或更多个内核。
15.根据权利要求9所述的系统,其中所述一个或更多个图形计算资源是一个或更多个并行处理单元的存储器。16.一种机器可读介质,其上存储有一个或更多个指令,所述一个或更多个指令如果由一个或更多个处理器执行,使得所述一个或更多个处理器至少:使得一个或更多个图形计算资源独立于软件程序进行配置,以便至少部分地基...

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

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

1