当前位置: 首页 > 专利查询>英特尔公司专利>正文

存储器中计算/近存储器计算(CIM)电路架构制造技术

技术编号:27876385 阅读:25 留言:0更新日期:2021-03-31 00:52
一种存储器电路包括动态可配置的多个(X个)乘法累加(MAC)电路。MAC电路可基于输入向量的X个元素与权重向量的计算来计算输出,或者基于输入向量的单个元素与权重向量的计算来计算输出,其中每个元素具有一位或多位长度。第一存储器可保存具有宽度为X个元素的输入向量,而第二存储器可存储权重向量。MAC电路包括具有第一存储器的芯片上的MAC阵列。

【技术实现步骤摘要】
存储器中计算/近存储器计算(CIM)电路架构
描述一般涉及存储器中计算/近存储器计算(compute-in/near-memory)(CIM),并且更特别的描述涉及用公共CIM硬件在矩阵-矩阵计算和矩阵-向量计算之间进行动态切换。
技术介绍
已经在机器学习上特别是使用深度学习技术构建了计算机人工智能(AI)。通过深度学习,被组织为神经网络的计算系统计算输入数据与现有计算的数据匹配的统计可能性。神经网络涉及多个互连的处理节点,这些节点使数据分析能够将输入与“受训练的”数据进行比较。受训练的数据涉及对已知数据的性质进行计算分析,以开发用于比较输入数据的模型。某些深度学习应用,诸如应用单批量或小批量MLP(多层感知器)、RNN(递归神经网络)和LSTM(长短期存储器——具有反馈的递归神经网络)的那些应用,通常执行矩阵-向量(MxV)乘法,其中神经元激活的向量(或窄矩阵)与神经网络权重矩阵相乘。其它深度学习应用,诸如应用CNN(卷积神经网络,诸如用于图像处理、视频处理或二维(2D)图像的计算或分类)或大批量MLP的那些应用,一般被映射到矩阵-矩阵(MxM)乘法,其中矩阵与神经网络权重矩阵相乘。通过使用乘法累加(multiply-accumulate)(MAC)算术单元的阵列来执行对于MxV和MxM两者的点积运算。MAC单元的二维(2D)脉动阵列(systolicarray)能为MxM运算提供具有良好性能和数据重复使用的硬件解决方案。一维(1D)计算阵列方法比2D脉动阵列更适合最大化向量元素的数据重复使用。从而,1D计算阵列为MxV运算提供了良好的性能。因此,MxV乘法通常很好地映射到1D计算阵列,而MxM乘法通常很好地映射到2D计算阵列。然而,在2D脉动阵列上执行MxV使计算与存储器带宽(BW)的比率急剧下降。类似地,在1D阵列上执行MxM会串行化(serialize)点积的高度可并行化的任务,引起性能和能量问题。结果,传统的硬件方法必须适合要执行的主要运算,这意味着针对MxM运算或者针对MxV运算进行优化。一些系统实现执行两种类型的操作,导致性能损失,因为硬件解决方案不能为非优化的工作负荷(workload)提供最大性能。附图说明以下描述包括对图的讨论,这些图具有通过实现示例的方式给出的图示。应该通过示例而非限制的方式来理解附图。如本文中所使用的,对一个或多个示例的引用要被理解为描述包括在本专利技术的至少一个实现中的特定特征、结构或特性。本文中出现的诸如“在一个示例中”或“在备选示例中”的短语提供了本专利技术的实现的示例,并且不一定全都指的是相同实现。然而,它们也不一定相互排斥。图1是用动态可配置近存储器计算(CNM)电路执行计算的存储器中计算/近存储器计算系统的示例的框图。图2是动态可配置CNM核的示例的框图。图3A是配置用于矩阵-矩阵计算的动态可配置CNM核的计算操作的示例的框图。图3B是配置用于矩阵-向量计算的动态可配置CNM核的计算操作的示例的框图。图4A是用配置用于矩阵-矩阵计算的动态可配置CNM核的计算操作的周期(cycle)的图解示例。图4B是用配置用于矩阵-向量计算的动态可配置CNM核的计算操作的周期的图解示例。图5是具有处理器和动态可配置的存储器中计算/近存储器计算的电路系统的系统的示例的框图。图6是用能动态计算矩阵-矩阵或矩阵-向量计算的架构的存储器中计算/近存储器计算的过程的示例的流程图。图7是计算系统的示例的框图,其中能实现用动态可配置MAC阵列的存储器中计算/近存储器计算(CIM)操作。图8是多节点网络的示例的框图,其中能实现用动态可配置MAC阵列的存储器中计算/近存储器计算(CIM)操作。下面是对某些细节和实现的描述,所述描述包括对图的非限制性描述,它们可描绘一些或所有示例,以及其它潜在的实现。具体实施方式如本文中所描述的,一种存储器电路包括动态可配置的多个乘法累加(MAC)电路。MAC电路或MAC算术单元可被配置成基于X个位的输入向量与权重向量的计算来计算输出,或者基于单个位的输入向量与权重向量的计算来计算输出。第一存储器提供输入向量,并且第二存储器提供权重向量。输入向量和权重向量两者可具有相同数量的位(例如,X个位),并且取决于配置,这些位以不同的组合相对彼此递送和计算。MAC电路按阵列被配置,并且该配置能确定阵列的操作。在一个示例中,阵列被配置成计算MxV(矩阵-向量)计算。在一个示例中,相同阵列被配置成计算MxM(矩阵-矩阵)计算。MAC阵列的动态可配置性使相同的电路系统能够针对MxM运算或者MxV运算进行优化。将理解,与优化或进行优化相关的表达指的是相对于电路系统的其它配置的性能改进。此类表达不一定指的是绝对最优,也不暗示不能进行附加改进。例如,对MxM运算的优化涉及与改进MxM运算的性能的配置有关的改进阵列性能的MAC阵列配置。备选地,可说特定的配置集中于一种类型的操作或另一种类型的操作,或者配置针对特定类型的操作。用此类可配置性,相同的电路系统能为任一类型的操作提供高性能。将存在用于该配置的成本,与为特定操作类型单独优化的电路系统相比,该配置可能会降低性能,但是相对于为一种类型的操作配置的电路系统执行另一种类型的操作而言,该配置将提供改进的性能。在一个示例中,可重配置MAC阵列硬件在专用硬件(诸如,专用处理器或加速器)上实现。从而,相同的电路系统能为2D运算提供2D阵列配置,以计算用于推理或训练任务的大量神经网络(NN)参数的深度学习矩阵运算工作负荷。类似地,相同的电路系统能提供有利于1D计算操作的1D阵列配置。计算能包括用于单批量或小批量MLP、RNN和LSTM的1D计算,其中神经元激活的向量(或窄矩阵)与NN权重相乘。该计算可包括用于CNN或大批量MLP的2D计算。在一个示例中,用于2D运算或1D运算的阵列配置能以脉动阵列的形式。脉动阵列在本领域中被理解为相似元素的模块化阵列,其具有在返回到主处理单元或存储器之前通过阵列元素传播数据和结果的架构,并且将不进行详细描述。许多描述提及脉动阵列,这将被理解为示例。在某些实现中,脉动阵列架构能提供优于非脉动阵列架构的改进性能,并且从而将用于描述下面的示例。可使用除了脉动阵列之外的架构。此类架构能使用不同类型的元素或元素的不同排列。神经网络计算的传统方法包括通用多核硬件或专用加速器。通用多核方法通常将SIMD(单指令多数据)类型向量化、分布式的解决方案用于诸如在GPU(图形处理单元)硬件或协处理器硬件上处置矩阵运算。通用方法为矩阵运算提供了足够的计算/带宽效率;然而,与专用处理器相比,它们提供较低性能。取决于所选定的任务和工作负荷,专用加速器(诸如,独立芯片、加速器、FPGA(现场可编程门阵列)平台或其它专用硬件)通常使用阵列式乘法器,诸如2D脉动阵列或1D计算阵列。传统的加速器解决方案为所选定的任务实现了非常高的能效;然而,当切换到另一个任务,诸如从MxM运算切换到M本文档来自技高网...

【技术保护点】
1.一种用于乘法累加(MAC)运算的设备,包括:/n第一存储器,所述第一存储器用于提供具有宽度为X个元素的输入向量;以及/n具有所述第一存储器的芯片上的乘法累加(MAC)阵列,所述MAC阵列包括:/n第二存储器,所述第二存储器用于存储权重向量;以及/nX个MAC电路,所述X个MAC电路动态地可配置成:基于所述输入向量的所述X个元素与所述权重向量的计算来计算输出,或者基于所述输入向量的单个元素与所述权重向量的计算来计算所述输出。/n

【技术特征摘要】
20190927 US 16/5866481.一种用于乘法累加(MAC)运算的设备,包括:
第一存储器,所述第一存储器用于提供具有宽度为X个元素的输入向量;以及
具有所述第一存储器的芯片上的乘法累加(MAC)阵列,所述MAC阵列包括:
第二存储器,所述第二存储器用于存储权重向量;以及
X个MAC电路,所述X个MAC电路动态地可配置成:基于所述输入向量的所述X个元素与所述权重向量的计算来计算输出,或者基于所述输入向量的单个元素与所述权重向量的计算来计算所述输出。


2.如权利要求1所述的设备,其中所述MAC阵列在具有所述第一存储器的公共存储器管芯上,其中所述第一存储器是处理器的高速缓存存储器。


3.如权利要求1所述的设备,其中所述MAC阵列在具有所述第一存储器的公共存储器管芯上,其中所述第一存储器是处理器的高速暂存存储器。


4.如权利要求1所述的设备,其中所述MAC阵列在具有所述第一存储器的片上系统内,其中所述第一存储器是处理器的高速缓存存储器。


5.如权利要求1所述的设备,其中所述MAC阵列在具有所述第一存储器的片上系统内,其中所述第一存储器是处理器的高速暂存存储器。


6.如权利要求1到5中任一项所述的设备,所述MAC阵列进一步包括:
复用器(mux),所述mux用于在所述第一存储器和所述MAC阵列之间提供替代路径;以及
mux控制器,所述mux控制器用于控制所述mux在所述替代路径之间进行选择。


7.如权利要求6所述的设备,其中所述mux控制器针对一维(1D)MxV计算要控制所述mux以用于一个输入向量元素到所有X个MAC电路。


8.如权利要求6所述的设备,其中所述mux控制器针对二维(2D)MxM计算要控制所述mux以用于X个不同的输入向量元素分别到所述X个MAC电路。


9.如权利要求1到8中任一项所述的设...

【专利技术属性】
技术研发人员:HE苏姆布尔陈耕和P克纳格R库马尔R克里什纳墨菲
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1