用于可部署推理系统的存储器映射的神经网络加速器技术方案

技术编号:37995430 阅读:10 留言:0更新日期:2023-06-30 10:09
提供了一种神经网络处理器系统,其包括至少一个神经网络处理核心、激活存储器、指令存储器和至少一个控制寄存器,神经网络处理核心被适配为实施神经网络计算、控制和通信原语。存储器映射被包括在内,存储器映射包括与激活存储器、指令存储器和至少一个控制寄存器中的每一个相对应的区域。另外,可操作地连接到神经网络处理器系统的接口被包括在内,该接口被适配为与主机通信并暴露存储器映射。适配为与主机通信并暴露存储器映射。适配为与主机通信并暴露存储器映射。

【技术实现步骤摘要】
【国外来华专利技术】用于可部署推理系统的存储器映射的神经网络加速器


[0001]本公开的实施例涉及用于神经推理的系统,更具体地,涉及用于可部署推理系统的存储器映射的神经网络加速器。

技术实现思路

[0002]根据本公开的实施例,用于系统的方法和计算机程序产品包括:神经网络处理器系统,包括至少一个神经网络处理核心、激活存储器、指令存储器和至少一个控制寄存器,神经网络处理核心被适配为实施神经网络计算、控制和通信原语;存储器映射,包括与激活存储器、指令存储器和至少一个控制寄存器中的每一个相对应的区域;可操作地连接到神经网络处理器系统的接口,该接口被适配为与主机通信并暴露存储器映射。
[0003]根据本公开的实施例,神经网络处理器被配置为经由接口接收神经网络描述,经由接口接收输入数据,并且经由接口提供输出数据。在一些实施例中,神经网络处理器系统经由接口暴露API,该API包括用于经由接口接收神经网络描述、经由接口接收输入数据以及经由接口提供输出数据的方法。在一些实施例中,接口包括AXI、PCIe、USB、以太网或火线接口。
[0004]在一些实施例中,该系统还包括冗余神经网络处理核心,冗余神经网络处理核心被配置为与神经网络处理核心并行地计算神经网络模型。在一些实施例中,神经网络处理器系统被配置为提供神经网络模型的冗余计算,和/或被配置为提供硬件级冗余、软件级冗余和模型级冗余中的至少一个。在一些实施例中,神经网络处理器系统包括可编程固件,该可编程固件可配置为处理输入数据和输出数据。在一些实施例中,所述处理包括缓冲。在一些实施例中,神经网络处理器系统包括非易失性存储器。在一些实施例中,神经网络处理器系统被配置为存储配置或操作参数或程序状态。在一些实施例中,接口被配置用于实时操作或比实时操作更快的操作。在一些实施例中,接口通信地耦接到至少一个传感器或相机。在一些实施例中,该系统包括通过网络互连的多个如上所述的系统。在一些实施例中,提供了一种包括通过网络互连的多个如上所述的系统和多个计算节点的系统。在一些实施例中,该系统还包括多个不相交的存储器映射,每个存储器映射对应于多个如上所述的系统之一。
[0005]根据本公开的另一方面,提供了一种方法,包括:在神经网络处理器系统处经由接口从主机接收神经网络描述,神经网络处理器系统包括至少一个神经网络处理核心、激活存储器、指令存储器和至少一个控制寄存器,神经网络处理核心被适配为实施神经网络计算、控制和通信原语,接口可操作地连接到神经网络处理器系统;经由接口暴露存储器映射,存储器映射包括与激活存储器、指令存储器和至少一个控制寄存器中的每一个相对应的区域;经由接口在神经网络处理器系统处接收输入数据;基于神经网络模型根据输入数据计算输出数据;以及经由接口从神经网络处理器系统提供输出数据。在一些实施例中,神经网络处理器系统经由接口接收神经网络描述,经由接口接收输入数据,并且经由接口提供输出数据。在一些实施例中,神经网络处理器系统经由接口暴露API,该API包括用于经由
接口接收神经网络描述、经由接口接收输入数据以及经由接口提供输出数据的方法。在一些实施例中,接口以实时速度或比实时速度更快的速度操作。
附图说明
[0006]图1示出了根据本公开的实施例的示例性存储器映射(MM)系统。
[0007]图2示出了根据本公开的实施例的示例性消息传递(MP)系统。
[0008]图3示出了根据本公开的实施例的神经核心。
[0009]图4示出了根据本公开的实施例的示例性推理处理单元(IPU)。
[0010]图5示出了根据本公开的实施例的多核推理处理单元(IPU)。
[0011]图6示出了根据本公开的实施例的神经核心和关联网络。
[0012]图7示出了根据本公开的实施例的主机系统于IPU之间的集成方法。
[0013]图8A

图8C示出了根据本公开的实施例的示例性冗余方法。
[0014]图9示出了根据本公开的实施例的存储器映射的神经推理引擎的系统架构。
[0015]图10示出了根据本公开的实施例的示例性运行时软件栈。
[0016]图11示出了根据本公开的实施例的示例性执行序列。
[0017]图12示出了根据本公开的实施例的神经推理设备的示例性集成。
[0018]图13示出了根据本公开的实施例的神经推理设备的示例性集成。
[0019]图14示出了根据本公开的实施例的其中神经推理设备经由PCIe桥与主机互连的示例性配置。
[0020]图15示出了根据本公开的实施例的暴露神经网络处理器系统中的存储器映射的方法的流程图。
[0021]图16描绘了根据本公开的实施例的计算节点。
具体实施方式
[0022]各种传统计算系统经由共享存储器/存储器映射(memory mapped,MM)范例在系统组件之间通信。相比之下,各种并行、分布式计算系统(诸如神经突触系统)经由消息传递(message passing,MP)范例相互通信。本公开提供了这两种类型的系统之间的有效接口。
[0023]人工神经元是一种数学函数,其输出是其输入的线性组合的非线性函数。如果一个神经元的输出是另一神经元的输入,则这两个神经元是相连接的。权重是对一个神经元的输出与另一神经元的输入之间的连接强度进行编码的标量值。
[0024]神经元通过将非线性激活函数应用于其输入的加权和(weighted sum)来计算其输出(称为激活)。加权和是通过将每个输入乘以对应的权重并累加乘积而计算出的中间结果。部分和(partial sum)是输入子集的加权和。可以通过累加一个或多个部分和来分阶段计算所有输入的加权和。
[0025]神经网络是一个或多个神经元的集合。神经网络通常被划分成称为层的神经元组。层是一个或多个神经元的集合,这一个或多个神经元都从相同的层接收输入且都向相同的层发送输出,并且通常执行类似的功能。输入层是从神经网络外部的源接收输入的层。输出层是向神经网络外部的目标发送输出的层。所有其他层都是中间处理层。多层神经网络是具有不止一层的神经网络。深度神经网络是具有许多层的多层神经网络。
[0026]张量是数值的多维阵列。张量块是张量中元素的连续子阵列。
[0027]每个神经网络层与参数张量V、权重张量W、输入数据张量X、输出数据张量Y和中间数据张量Z相关联。参数张量包含控制该层中神经元激活函数σ的所有参数。权重张量包含将输入连接到该层的所有权重。输入数据张量包含该层所使用的作为输入的所有数据。输出数据张量包含该层所计算的作为输出的所有数据。中间数据张量包含该层所产生的作为中间计算的任何数据,诸如部分和。
[0028]层的数据张量(输入、输出和中间)可以是3维的,其中前两个维度可以被解释为对空间位置进行编码,并且第三个维度可以被解释为对不同的特征进行编码。例如,当数据张量表示彩色图像时,前两个维度对图像内的垂直坐标和水平坐标进行编码,并且第三个维度对每个位置处的颜色进行编码。输入本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种系统,包括:神经网络处理器系统,包括:至少一个神经网络处理核心、激活存储器、指令存储器和至少一个控制寄存器,所述神经网络处理核心被适配为实施神经网络计算、控制和通信原语;存储器映射,包括与所述激活存储器、指令存储器和至少一个控制寄存器中的每一个相对应的区域,可操作地连接到所述神经网络处理器系统的接口,所述接口被适配为与主机通信并暴露所述存储器映射。2.根据权利要求1所述的系统,其中,所述神经网络处理器被配置为经由所述接口接收神经网络描述,经由所述接口接收输入数据,并且经由所述接口提供输出数据。3.根据权利要求2所述的系统,其中,所述神经网络处理器系统经由所述接口暴露API,所述API包括用于经由所述接口接收所述神经网络描述、经由所述接口接收输入数据以及经由所述接口提供输出数据的方法。4.根据权利要求1所述的系统,其中,所述接口包括AXI、PCIe、USB、以太网或火线接口。5.根据权利要求1所述的系统,还包括冗余神经网络处理核心,所述冗余神经网络处理核心被配置为与所述神经网络处理核心并行地计算神经网络模型。6.根据权利要求1所述的系统,其中,所述神经网络处理器系统被配置为提供神经网络模型的冗余计算。7.根据权利要求1所述的系统,其中,所述神经网络处理器系统被配置为提供硬件级冗余、软件级冗余和模型级冗余中的至少一个。8.根据权利要求2所述的系统,其中,所述神经网络处理器系统包括可编程固件,所述可编程固件可配置为处理所述输入数据和输出数据。9.根据权利要求8所述的系统,其中,所述处理包括缓冲。10.根据权利要求1所述的系统,其中,所述神经网络处理器系统包括非易失性存储器。11.根据权利要求10所述的系统,其中,所述神经网络处理器系统被配置为存储...

【专利技术属性】
技术研发人员:F
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1