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

基于处理资源的张量修改制造技术

技术编号:38987296 阅读:14 留言:0更新日期:2023-10-07 10:17
一种基于处理器要求修改张量的装置、系统和技术。在至少一个实施例中,修改输入张量和权重张量以满足处理资源需求。权重张量以满足处理资源需求。权重张量以满足处理资源需求。

【技术实现步骤摘要】
【国外来华专利技术】基于处理资源的张量修改


[0001]至少一个实施例涉及用于修改在训练神经网络中所使用的张量的处理资源。例如,至少一个实施例涉及修改输入张量和权重张量以输出用于训练稀疏神经网络的稀疏张量的处理器或计算系统。

技术介绍

[0002]处理器,如图形处理单元(GPU),提供专门的处理资源,例如被优化来处理稀疏张量(例如,包含至少一个等于零的值的张量)、加快(例如,加速)处理时间并减少计算开销的硬件和软件。这种专门的处理资源有时需要张量有特定的维度来处理,但并不是所有的张量,比如用于训练神经网络的输入张量,都满足这样的要求。在一个案例中,GPU优化稀疏张量处理功能(例如,稀疏张量核心(Sparse Tensor Core)(NVIDIA))可能需要稀疏张量具有2:4的结构化稀疏度,其中每4个张量的值,两个必须为0,因此,例如,有FP16(例如,半精密二进制浮点计算机数字格式)值的张量需要有是8的倍数的一个维度以及是16的倍数的另一个维度以利用加速处理。然而,神经网络可以使用具有各种维度的张量,并不是所有张量维度都符合GPU加速处理的要求。因此,需要修改张量的技术。
附图说明
[0003]图1示出了根据至少一个实施例的用于修改一个或更多个张量的过程100;
[0004]图2示出了根据至少一个实施例的修改神经网络的层的进程;
[0005]图3示出了根据至少一个实施例的用于满足处理器的要求的张量的修改;
[0006]图4示出了根据至少一个实施例的稀疏张量压缩;
[0007]图5示出了根据至少一个实施例的用于修改张量的处理系统;
[0008]图6示出了根据至少一个实施例的示例性数据中心;
[0009]图7示出了根据至少一个实施例的处理系统;
[0010]图8示出了根据至少一个实施例的计算机系统;
[0011]图9示出了根据至少一个实施例的系统;
[0012]图10示出了根据至少一个实施例的示例性集成电路;
[0013]图11示出了根据至少一个实施例的计算系统;
[0014]图12示出了根据至少一个实施例的APU;
[0015]图13示出了根据至少一个实施例的CPU;
[0016]图14示出了根据至少一个实施例的示例性加速器集成切片;
[0017]图15A和图15B示出了根据至少一个实施例的示例性图形处理器;
[0018]图16A示出了根据至少一个实施例的图形核心;
[0019]图16B示出了根据至少一个实施例的GPGPU;
[0020]图17A示出了根据至少一个实施例的并行处理器;
[0021]图17B示出了根据至少一个实施例的处理集群;
[0022]图17C示出了根据至少一个实施例的图形多处理器;
[0023]图18示出了根据至少一个实施例的图形处理器;
[0024]图19示出了根据至少一个实施例的处理器;
[0025]图20示出了根据至少一个实施例的处理器;
[0026]图21示出了根据至少一个实施例的图形处理器核心;
[0027]图22示出了根据至少一个实施例的PPU;
[0028]图23示出了根据至少一个实施例的GPC;
[0029]图24示出了根据至少一个实施例的流式多处理器;
[0030]图25示出了根据至少一个实施例的编程平台的软件栈;
[0031]图26示出了根据至少一个实施例的图25的软件栈的CUDA实现;
[0032]图27示出了根据至少一个实施例的图25的软件栈的ROCm实现;
[0033]图28示出了根据至少一个实施例的图25的软件栈的OpenCL实现;
[0034]图29示出了根据至少一个实施例的由编程平台支持的软件;
[0035]图30示出了根据至少一个实施例的在图25

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

28的编程平台上执行的更详细的编译代码;
[0037]图32示出了根据至少一个实施例的在编译源代码之前转换源代码;
[0038]图33A示出了根据至少一个实施例的被配置为使用不同类型的处理单元来编译和执行CUDA源代码的系统;
[0039]图33B示出了根据至少一个实施例的被配置为使用CPU和启用CUDA的GPU来编译和执行图33A的CUDA源代码的系统;
[0040]图33C示出了根据至少一个实施例的被配置为使用CPU和未启用CUDA的GPU来编译和执行图33A的CUDA源代码的系统;
[0041]图34示出了根据至少一个实施例的由图33C的CUDA到HIP转换工具转换的示例性内核;
[0042]图35更详细地示出了根据至少一个实施例的图33C的未启用CUDA的GPU;以及
[0043]图36示出了根据至少一个实施例的示例性CUDA网格的线程如何被映射到图35的不同计算单元;以及
[0044]图37示出了根据至少一个实施例的如何将现有CUDA代码迁移到数据并行C++代码。
具体实施方式
[0045]在以下描述中,阐述了许多具体细节以便提供对至少一个实施例的更透彻理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些具体细节中的一个或更多个的情况下实践本专利技术构思。本文所述的实施例可以用于一种或更多种组合。
[0046]在至少一个实施例中,方法和系统至少部分地基于一个或更多个处理资源来修改一个或更多个张量的维度。在至少一个实施例中,方法和系统修改(例如,重塑、变换、转换)用于神经网络(例如,图形处理单元(GPU)上的残差神经网络(ResNet)、卷积神经网络(CNN)、生成对抗网络(GAN)、人工神经网络(ANN)、递归神经网络(RNN))训练或推理的张量
(例如,数字、标量、数组、矢量、二维(2D)数组、矩阵的表示)。在至少一个实施例中,用于修改张量的方法和系统被应用于处理器(例如,GPU、XPU、数据处理单元(DPU)、加速处理单元(APU)、中央处理单元(CPU)),该处理器对于要处理的张量具有特定要求。在至少一个实施例中,包括一个或更多个电路的一个或更多个处理器引起本文讨论的一个或更多个操作步骤的执行,例如至少部分基于一个或更多个处理资源修改一个或更多个张量的一个或更多个维度。在至少一个实施例中,方法和系统包括修改张量以满足处理器对于要处理的张量的要求(例如,维度、形状、结构化的稀疏度、数据格式)。在至少一个实施例中,张量形状指的是所述张量的特征(例如,张量的每个维度中的元素的数量,张量中每个轴的长度)。在至少一个实施例中,方法和系统包括修改张量,以便所述张量可以由GPU上的专门处理资源处理,例如稀疏张量核心或用于加速处理需要2:4结构化稀疏度的稀疏张量的资源。处理稀疏张量有时被称为处理稀疏矩阵,而对稀疏张量的处理器要求有时被称为对稀疏矩阵的要求。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种处理器,包括:一个或更多个电路,用于使得至少部分地基于一个或更多个处理资源来修改一个或更多个张量的一个或更多个维度。2.根据权利要求1所述的处理器,其中所述一个或更多个电路进一步用于使所述一个或更多个张量至少部分地基于修改后的一个或更多个张量与所述处理资源兼容。3.根据权利要求1所述的处理器,其中:所述一个或更多个张量包括一个或更多个输入张量和一个或更多个权重张量;并且所述一个或更多个电路进一步用于使所述一个或更多个张量被修改以与所述处理资源兼容。4.根据权利要求1所述的处理器,其中:对所述一个或更多个张量的修改是向所述一个或更多个张量中添加多个元素。5.根据权利要求1所述的处理器,其中:所述一个或更多个张量是一个或更多个稀疏张量;并且所述一个或更多个稀疏张量被修改为具有与用在训练神经网络中的一个或更多个输入张量的形状相同的一个或更多个相应形状。6.根据权利要求1所述的处理器,其中:所述一个或更多个张量包括两个张量;并且所述一个或更多个电路进一步用于使所述两个张量被融合以与一个或更多个稀疏权重张量兼容。7.根据权利要求1所述的处理器,其中:所述一个或更多个张量包括一个或更多个输入张量;并且所述修改包括合并所述一个或更多个输入张量以与稀疏权重张量兼容。8.一种系统,包括:一个或更多个处理器,用于使得至少部分地基于一个或更多个处理资源对一个或更多个张量的一个或更多个维度进行修改。9.根据权利要求8所述的系统,其中:所述一个或更多个张量包括一个或更多个权重张量和一个或更多个输入张量;所述一个或更多个权重张量和所述一个或更多个输入张量被修改;并且所述一个或更多个权重张量被修改而成为稀疏权重张量。10.根据权利要求8所述的系统,其中:所述张量包括一个或更多个输入张量和一个或更多个权重张量;并且对所述一个或更多个输入张量的修改至少部分地基于对所述一个或更多个权重张量的修改。11.根据权利要求8所述的系统,其中:所述一个或更多个张量包括一个或更多个权重张量和一个或更多个输入张量,并且所述一个或更多个权重张量中的每一个进一步至少部分地基于所述一个或更多个输入张量的维度而被修改。12.根据权利要求8所述的系统,其中:所述一个或更多个张量是与所述一个或更多个处理资源兼容的一个或更多个稀疏张量;并且
所述一个或更多个稀疏张量被修改为具有与用在训练神经网络中的一个或更多个输入张量的形状相同的一个或更多个相应形状。13.根据权利要求8所述的系统,其中:所述一个或更多个张量包括共享输入的两个张量;并且所述一个或更多个处理器进一步使所述两个张量被融合以与稀疏权重张量兼容。14.根据权利要求8所述的系统,其中:所述一个或更多个张量包括共享输入的两个张量;并且所述一个或更多个处理器进一步使得使用串联、堆叠、填充或它们的某种组合来融合所述两个张量。15.一种方法,包括:至少部分地基于一个或更多个处理资源来修改一个或更多个张量的维度。16.根据权利要求15所述的方法,其中:所述一个或更多个张量包括一个或更多个输入张量;并且所述一个或更多个输入张量被修改以被扩展或合并。17.根据权利要求15所述的方法,其中:所述一个或更多个张量包括一个或更多个权重张量和一...

【专利技术属性】
技术研发人员:余翀谢智浩刘佳N
申请(专利权)人:辉达公司
类型:发明
国别省市:

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

1