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

用于神经网络计算的应用编程接口制造技术

技术编号:33723114 阅读:10 留言:0更新日期:2022-06-08 21:15
提供一种用于神经网络计算的应用编程接口。用于改进神经网络计算的装置、系统和技术。在至少一个实施例中,深度神经网络库从一个或更多个用户接收计算描述符并且生成包括用于促进神经网络计算的一个或更多个优化操作的优化的执行计划。优化的执行计划。优化的执行计划。

【技术实现步骤摘要】
用于神经网络计算的应用编程接口


[0001]至少一个实施例涉及用于改进神经网络计算的处理资源。例如,至少一个实施例涉及根据本文所描述的各个新颖技术,用于使用由一个或更多个用户提供的描述符来提供库以促进优化的神经网络操作的处理器或计算系统。

技术介绍

[0002]使用并行处理单元(如图形处理单元)来加速深度学习已经导致基于软件的库来提供各个深度学习操作的实现。这些基于软件的深度学习库提供了由软件程序用来执行深度学习操作(诸如神经网络计算)的应用编程接口。然而,可用的深度学习库常常无法为各个并行处理单元可用的所有优化提供支持,并且可能具有必须随着对所述深度学习库增加功能而改变的笨重的应用编程接口。这导致使用这些深度学习库的软件程序的可维护性和性能降低。
附图说明
[0003]图1是示出了根据至少一个实施例的用于由一个或更多个神经网络优化计算的深度神经网络库架构的框图;
[0004]图2是示出了根据至少一个实施例的用于根据由深度神经网络库接收的一个或更多个描述符生成优化操作集的架构的框图;
[0005]图3是示出了根据至少一个实施例的用于使用深度神经网络库来选择一个或更多个计算选项的架构的框图;
[0006]图4是示出了根据至少一个实施例的用于使用深度神经网络库确定在执行计划中使用的中间体的架构的框图;
[0007]图5是示出了根据至少一个实施例的用于使用深度神经网络库来管理数据指针的架构的框图;
[0008]图6是示出了根据至少一个实施例的用于使用深度神经网络库结合管理的数据指针实施执行计划的架构的框图;
[0009]图7示出了根据至少一个实施例的用于使用深度神经网络库优化和执行用户指定的神经网络计算的过程;
[0010]图8A示出了根据至少一个实施例的推理和/或训练逻辑;
[0011]图8B示出了根据至少一个实施例的推理和/或训练逻辑;
[0012]图9示出了根据至少一个实施例的神经网络的训练和部署;
[0013]图10示出了根据至少一个实施例的示例数据中心系统;
[0014]图11A示出了根据至少一个实施例的自主车辆的示例;
[0015]图11B示出了根据至少一个实施例的图11A的自主车辆的相机位置和视野的示例;
[0016]图11C是根据至少一个实施例的示出图11A的自主车辆的示例系统架构的框图;
[0017]图11D是根据至少一个实施例的示出用于一个或更多个基于云的服务器与图11A
的自主车辆之间进行通信的系统的图;
[0018]图12是根据至少一个实施例的示出计算机系统的框图;
[0019]图13是根据至少一个实施例的示出计算机系统的框图;
[0020]图14示出了根据至少一个实施例的计算机系统;
[0021]图15示出了根据至少一个实施例的计算机系统;
[0022]图16A示出了根据至少一个实施例的计算机系统;
[0023]图16B示出了根据至少一个实施例的计算机系统;
[0024]图16C示出了根据至少一个实施例的计算机系统;
[0025]图16D示出了根据至少一个实施例的计算机系统;
[0026]图16E和图16F示出了根据至少一个实施例的共享编程模型;
[0027]图17示出了根据至少一个实施例的示例性集成电路和相关的图形处理器;
[0028]图18A和图18B示出了根据至少一个实施例的示例性集成电路和相关联的图形处理器;
[0029]图19A和图19B示出了根据至少一个实施例的附加的示例性图形处理器逻辑;
[0030]图20示出了根据至少一个实施例的计算机系统;
[0031]图21A示出了根据至少一个实施例的并行处理器;
[0032]图21B示出了根据至少一个实施例的分区单元;
[0033]图21C示出了根据至少一个实施例的处理集群;
[0034]图21D示出了根据至少一个实施例的图形多处理器;
[0035]图22示出了根据至少一个实施例的多图形处理单元(GPU)系统;
[0036]图23示出了根据至少一个实施例的图形处理器;
[0037]图24是根据至少一个实施例的示出用于处理器的处理器微架构的框图;
[0038]图25示出了根据至少一个实施例的深度学习应用程序处理器;
[0039]图26是根据至少一个实施例的示出了示例神经形态处理器的框图;
[0040]图27示出了根据一个或更多个实施例的图形处理器的至少部分;
[0041]图28示出了根据一个或更多个实施例的图形处理器的至少部分;
[0042]图29示出了根据一个或更多个实施例的图形处理器的至少部分;
[0043]图30是根据至少一个实施例的图形处理器的图形处理引擎的框图;
[0044]图31是根据至少一个实施例的图形处理器核心的至少部分的框图;
[0045]图32A和图32B示出了根据至少一个实施例的线程执行逻辑,其包括图形处理器核心的处理元件的阵列。
[0046]图33示出了根据至少一个实施例的并行处理单元(“PPU”);
[0047]图34示出了根据至少一个实施例的通用处理集群(“GPC”);
[0048]图35示出了根据至少一个实施例的并行处理单元(“PPU”)的存储器分区单元;
[0049]图36示出了根据至少一个实施例的流式多处理器;
[0050]图37是根据至少一个实施例的高级计算管线的示例数据流图;
[0051]图38是根据至少一个实施例的用于在高级计算管线中训练、自适应、实例化和部署机器学习模型的示例系统的系统图;
[0052]图39包括根据至少一个实施例的用于处理成像数据的高级计算管线的示例图示;
[0053]图40A包括根据至少一个实施例的支持超声设备的虚拟仪器的示例数据流图;
[0054]图40B包括根据至少一个实施例的支持CT扫描仪的虚拟仪器的示例数据流图;
[0055]图41A示出了根据至少一个实施例的用于训练机器学习模型的过程的数据流图;以及
[0056]图41B是根据至少一个实施例的利用预训练的注释模型来增强注释工具的客户端

服务器架构的示例图示。
具体实施方式
[0057]图1是示出了根据至少一个实施例的用于由一个或更多个神经网络进行优化计算的深度神经网络库架构的框图。在至少一个实施例中,深度神经网络库102或深度学习库是当被执行时执行通过应用编程接口(API)104请求的深度神经网络或深度学习操作的数据值和软件指令。在至少一个实施例中,诸如cuDNN之类的深度神经网络库102包括API 104。在至少一个实施例中,API 104是这样的软件指令:当该软件指令被执行时其提供用于与一个或更多个软件程序交互的接口。
[0058]在至少一个实施例中,API 104本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种机器可读介质,其具有存储在其上的应用编程接口API调用,所述API调用如果由一个或更多个处理器执行,则使所述一个或更多个处理器至少:使由第二API调用指示的一个或更多个操作被执行。2.根据权利要求1所述的机器可读介质,还包括指令,所述指令如果由所述一个或更多个处理器执行,则使所述一个或更多个处理器:作为所述第二API调用的结果,接收与所述一个或更多个操作相关联的一个或更多个描述符。3.根据权利要求2所述的机器可读介质,其中所述一个或更多个描述符指示由所述一个或更多个操作可用的一个或更多个数据值以及将由所述一个或更多个操作执行的一个或更多个计算。4.根据权利要求2所述的机器可读介质,其中所述指令还包括以下指令:作为由所述一个或更多个处理器执行的结果,该指令使所述一个或更多个处理器:识别将被应用于所述一个或更多个描述符的一个或更多个优化;以及作为第三API调用的结果,至少部分地基于将所述一个或更多个优化应用于所述一个或更多个描述符而生成所述一个或更多个操作。5.根据权利要求1所述的机器可读介质,还包括以下指令:该指令如果由所述一个或更多个处理器执行,则使所述一个或更多个处理器:使用所述API传输第一组计算选项;以及作为第三API调用的结果,接收能用于配置所述一个或更多个操作的第二组计算选项,所述第二组计算选项是所述第一组计算选项的子集。6.根据权利要求1所述的机器可读介质,还包括以下指令:该指令如果由所述一个或更多个处理器执行,则使所述一个或更多个处理器:作为第三API调用的结果,接收要与所述一个或更多个操作结合使用的一个或更多个预计算的数据值;以及将所述一个或更多个预计算的数据值与所述一个或更多个操作相关联。7.根据权利要求1所述的机器可读介质,还包括以下指令:该指令如果由所述一个或更多个处理器执行,则使所述一个或更多个处理器:作为第三API调用的结果,接收要与所述一个或更多个操作结合使用的指向用户分配的存储器的一组指针;以及将指向用户分配的存储器的该组指针与所述一个或更多个操作相关联。8.根据权利要求1所述的机器可读介质,其中所述API与深度神经网络库相关联,并且所述一个或更多个操作是作为所述API调用的结果而由所述深度神经网络库执行的神经网络操作。9.一种方法,包括:作为对应用编程接口API的第一函数调用的结果,执行由对所述API的第二函数调用指示的一个或更多个操作。10.根据权利要求9所述的方法,还包括:至少部分地基于结合所述第二函数调用接收的一个或更多个描述符来确定所述一个或更多个操作。11.根据权利要求9所述的方法,还包括:
至少部分地基于所述一个或更多个操作是有效的确定来生成指示;以及使用所述API传输所述指示。12.根据权利要求9所述的方法,还包括:至少部分地基于将一个或更多个性能优化应用于所述一个或更多个操作来生成操作集,所述一个或更多个性能优化由对所述API的第三函数调用指示;以及作为所述第一函数调用的结果,执行所述操作。13.根据权利要求9所述的方法,还包括:作为对所述API的第三函数调用的结果,传输与所述一个或更多个操作相关联的第一组计算选项;作为对所述API的第四函数调用的结果,接收第二组计算选项,所述第二组是所述第一组的子集;以及将所述第二组计算选项与所述一个或更多个操作相关联。14.根据权利要求9所述的方法,还包括:确定与所述一个或更多个操作相关联的一个或更多个数据依赖关系;使用所述API传输所述一个或更多个数据依赖关系;以及与所述一个或更多个操作相关联地存储一个或更多个预计算的数据值,作为传输所述一个或更多个数据依赖关系的结果,所述一个或更多个预计算的数据值经由对所述API的第三函数调用而接收。15.根据权利要求9所述的方法,还包括:作为对所述AP...

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

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

1