CN110796244B - 用于人工智能设备的核心计算单元处理器及加速处理方法 - Google Patents

用于人工智能设备的核心计算单元处理器及加速处理方法 Download PDF

Info

Publication number
CN110796244B
CN110796244B CN201810863952.4A CN201810863952A CN110796244B CN 110796244 B CN110796244 B CN 110796244B CN 201810863952 A CN201810863952 A CN 201810863952A CN 110796244 B CN110796244 B CN 110796244B
Authority
CN
China
Prior art keywords
multiplier
adder
data
register
groups
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810863952.4A
Other languages
English (en)
Other versions
CN110796244A (zh
Inventor
李云鹏
倪岭
邹云晓
邵平平
郑金山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Tiantian Smart Core Semiconductor Co ltd
Original Assignee
Shanghai Tiantian Smart Core Semiconductor Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Tiantian Smart Core Semiconductor Co ltd filed Critical Shanghai Tiantian Smart Core Semiconductor Co ltd
Priority to CN201810863952.4A priority Critical patent/CN110796244B/zh
Priority to US16/237,618 priority patent/US20200042881A1/en
Priority to PCT/IB2019/056520 priority patent/WO2020026160A2/zh
Publication of CN110796244A publication Critical patent/CN110796244A/zh
Application granted granted Critical
Publication of CN110796244B publication Critical patent/CN110796244B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

本发明公开了一种用于人工智能设备的核心计算单元处理器及处理方法,所述处理器设有多个神经元,其特征在于,所述神经元由多个乘加器组组成,所述乘加器组包括多个乘加器单元,所述乘加器单元具有累加、最大值和最小值的操作功能,各神经元内的乘加器组数量相同,各乘加器组内的乘加器单元数量相同,一个神经元内的乘加器组共享相同的输入激活数据,一个神经元内的乘加器组处理不同的内核权重数据,但不同神经元内相同位序的乘加器组处理同一内核权重数据,各个乘加器组之间没有数据转换。本发明以重复使用权重和激活的方式来安排内核,可快速地从缓存中获取数据并将它们广播到多个乘加器MAC中,以获得的更高的处理效率,降低功耗。

Description

用于人工智能设备的核心计算单元处理器及加速处理方法
技术领域
本发明属于人工智能技术领域,具体涉及一种用于人工智能设备的核心计算单元处理器及加速处理方法。
背景技术
核心计算单元是AI(人工智能)设备的关键部件,现有用于人工智能的芯片包括CPU(中央处理器)、GPU(图像处理器)、TPU(张量处理器)等芯片,CPU需要大量的空间去放置存储单元和控制逻辑,相比之下计算能力只占据了很小的一部分,在大规模并行计算能力上极受限制,而更擅长于逻辑控制;为了解决CPU在大规模并行运算中遇到的困难,GPU应运而生,采用数量众多的计算单元和超长的流水线,善于处理图像领域的运算加速;TPU可以提供高吞吐量的低精度计算,用于模型的前向运算,相比GPU,TPU尽管计算能力略有逊色,但其功耗有所降低。通常GPU具有实现小矩阵乘法和加法的张量核,TPU具有脉动阵列以进行矩阵乘法,在AI的工作负载中,卷积和矩阵乘法是功耗最高的,而在现有的GPU和TPU中,编译器必须将卷积转换为一些矩阵乘法,然而这种转换效率不高,且有更多的功耗。
发明内容
针对现有技术的不足,本发明提供了一种用于人工智能设备的核心计算单元处理器及加速处理方法,其技术方案为:
一种用于人工智能设备的核心计算单元处理器,设有多个神经元,其特征在于,所述神经元由多个乘加器组组成,所述乘加器组包括多个乘加器单元,所述乘加器单元具有累加、最大值和最小值的操作功能,各神经元内的乘加器组数量相同,各乘加器组内的乘加器单元数量相同,一个神经元内的乘加器组共享相同的输入激活数据,一个神经元内的乘加器组处理不同的内核权重数据,但不同神经元内相同位序的乘加器组处理同一内核权重数据,各个乘加器组之间没有数据转换。
在上述方案的基础上,进一步改进或优选的方案还包括:
所述处理器包括4个神经元,所述神经元由8个乘加器组组成,所述乘加器组包括4个乘加器单元。
所述乘加器单元的输入端与权重寄存器、输入激活寄存器分别连接,乘加器单元内设有乘加器MAC、多个目标寄存器和与多个导出寄存器;所述目标寄存器与乘加器MAC连接,用于存储权重与输入激活数据的计算结果;所述导出寄存器与目标寄存器连接,且与目标寄存器一一对应,用于计算结果的导出。
所述乘加器单元内设有4个导出寄存器和4个目标寄存器。
所述处理器包括一缓存器L1,所述缓存器L1用于存储外部模块派发的输入激活数据和权重数据,所述输入激活寄存器、权重寄存器从所述缓存器L1中调用数据。
所述外部模块为波张量分派器。
一种基于如上所述的人工智能设备核心计算单元加速处理方法,其特征在于,包括以下步骤:
所述乘加器单元处理的数据包括非零的权重数据及其在内核中的位置指数、非零的输入激活数据及其在特征图中的位置指数,不同的内核权重数据被分别映射到一个神经元中不同的乘加器组上,并播送到其它神经元内对应的乘加器组中;一个神经元内的乘加器组处理共享相同的输入激活数据,具有相同特征维度,但来自不同输入通道的输入激活数据在同一个乘加器组中进行累加处理,所述特征维度为输入激活数据在特征图上的位置。
在所述乘加器单元中,权重数据乘以输入激活数据的结果会被累加或与前一个结果进行比较,以得到最大或最小的结果并存储在目标寄存器中。
所述处理器设有4个神经元,所述神经元由8个乘加器组MAC4组成,所述MAC4包括4个乘加器单元,乘加器单元内设有乘加器MAC、4个目标寄存器与4个导出寄存器,目标寄存器与导出寄存器一一对应,所述乘加器MAC的输入端与权重寄存器、输入激活寄存器分别连接;所述目标寄存器与乘加器MAC的输出端连接,用于存储权重与输入激活数据的计算结果;所述导出寄存器与目标寄存器连接,用于计算结果的导出。
所述加速处理方法的3x3内核的权重数据与输入激活数据匹配算法,包括以下步骤:
设一个乘加器组MAC4包括4个相同的乘加器单元MACn,对于一个有16个目的地的波张量,则每个乘加器单元MACn可处理其中的4个,所以一个乘加器单元MACn包括4个目标寄存器OAmn,n和m为0到3中的一个自然数,即每个乘加器组内分别设有一个4行4列的目标寄存器阵列,m和n分别表述每个目标寄存器在该阵列中的行和列;
权重数据及其在内核中的位置指数(i,j)会被一个乘加器组MAC4接收,所述乘加器组MAC4也将接收放在一个6x6特征图数组中的输入激活数据与它们在数组中的位置指数(s,t),所述i和j分别表示3x3内核数组的某一行和列,所述s和t分别表示6x6特征图数组的某一行和列,i、j为0到2中的一个自然数;s、t为0到5中的一个自然数;
对于每个权重数组元素W(i,j),位置满足条件0<=(s-i)<=3和0<=(t-j)<=3的所有输入激活数据,都和所述W(i,j)一起发送给MAC(t-j),它们相乘,其结果通过目标寄存器(s-j)处理,这种处理根据用户需求是累加、最大值或最小值,t-j、s-j为0到3中的一个自然数,s-j的计算结果表示目标寄存器的行坐标,t-j的计算结果表示目标寄存器所在列坐标,或者说MACn的n值。
有益效果:
本发明一种用于人工智能设备的核心计算单元处理器及方法,以重复使用权重和激活的方式来安排内核,可快速地从缓存中获取数据并将它们广播到多个乘加器MAC中,以获得的更高的处理效率,降低功耗。
附图说明
图1为人工智能特征图和内核和计算公式;
图2为矩阵乘法示意图;
图3为本实施例引擎的流程图;
图4为本实施例引擎架构的示意图;
图5为计算处理单元的架构图;
图6为本发明核心计算单元处理器的结构示意图;
图7为乘加器组MAC4的结构示意图;
图8为匹配W和IA的算法示意图。
具体实施方式
为了阐明本发明的技术目的和工作原理,下面结合附图与具体实施例对本发明作进一步的介绍。
如图1所示,人工智能特征图通常可以描述为四维张量[N,C,Y,X],这4个维度分别为,特征图维度:X、Y;通道维度:C;批次维度:N。内核可以是四维张量[K,C,S,R],AI工作是给出输入特征图张量和内核张量,我们根据图1中的公式计算输出张量[N,K,Y,X]。
人工智能中的另一个重要操作是矩阵乘法,这个操作也可以映射到特征图处理中,如图2所示,矩阵A可以映射到张量[1,K,1,M],矩阵B映射到张量[N,K,1,1],结果C是张量[1,N,1,M]。还有其他的操作,比如规范化、激活,这些可以在通用硬件运算器中支持。
本实施例中,我们提出另一个硬件架构,可有效且更高效地支持这些操作,图4是本实例设计的架构的引擎级架构图,我们将之称作“人工大脑架构”,该架构对于多种计算能力要求是完全可扩展的。一般情况下,在前叶引擎(Frontal Engine,简称FE)中,张量被分成若干组,这些组会被送入顶叶引擎(Parietal Engine,简称PE)。每个顶叶引擎根据用户定义的输入特征渲染器(IF-Shader)处理这些组,并将部分和输出到枕形引擎(Occipital Engine,简称OE)中。OE收集输出张量并调度输出特征渲染器来进一步处理张量。处理输出特征渲染器(OF-Shader)有两种方法,在统一渲染架构中,输出特征渲染器被发送回顶叶引擎,一旦顶叶引擎完成渲染,它会将结果发送回OE。在分离渲染架构中,输出特征渲染器在OE中进行处理。OE的结果将输出张量发送到颞叶引擎(Temporal Engine,简称TE),TE进行一些后处理,并将它们发送到DRAM或将它们保存在缓存中以进一步处理。
本实施例中,将人工智能工作视为5维张量[N,K,C,Y,X],包括特征图维度:X、Y;通道维度C、K,其中C表示输入特征映射,K表示输出特征映射;N代表批次维度。在每一维度中,我们把这些工作分成许多组,每一组可能进一步被分成若干波。如图3所示,在本实施计算处理单元的架构体系结构中,第一个引擎-前叶引擎(FE)从主机得到5D张量[N,K,C,Y,X],并将其分为许多组张量[Ng,Kg,Cg,Yg,Xg],并将这些组发送给顶叶引擎(简称PE);PE获取组张量并将其分成若干波,将这些波发送到渲染器引擎,以执行输入特征渲染器(IF-Shader),并将部分张量(Nw,Kw,Yw,Xw)输出到枕形引擎(简称OE);OE积累部分张量,并执行输出特征渲染器(OF-Shader),以获得发送到下一个引擎-颞叶引擎(TE)的最终张量;TE进行一些数据压缩,并将最终的张量写到内存中。
FE将组张量发送到多个PE,每个PE获取组张量并对其进行处理,将结果输出到OE。在图5中,PE由波张量扫描器(wave tensor scanner,简称WTS)、波张量分派器(wavetensor dispatcher,简称WTD)、“核心计算单元”和“导出”组成。WTS接收组张量并将其分解为波张量,将它们发送到WTD,WTD的数量在PE中是可配置的。WTD加载输入激活(InputActivation,简称IA)数据和权重(简称W)数据,然后将其分派到计算核心单元。核心计算单元处理数据,导出块将结果OA输出到OE,核心计算单元的数量以及导出的数量与WTD的数量相同。
针对上述核心计算单元,本发明提供了一种用于人工智能设备的核心计算单元处理器,设有多个神经元,所述神经元由多个乘加器组组成,所述乘加器组包括多个乘加器单元,所述乘加器单元具有三种操作:累加、最大值和最小值(sum(IAi*Wi)、最大值(max(IAi*Wi)、最小值(min(IAi*Wi))。各神经元内的乘加器组数量相同,各乘加器组内的乘加器单元数量相同,一个神经元内的乘加器组共享相同的输入激活数据,一个神经元内的乘加器组处理不同的内核权重数据,但不同神经元内相同位序的乘加器组处理同一内核权重数据,各个乘加器组之间没有数据转换。
本发明核心计算单元处理器可用于但不限于本实施例所提出的硬件架构,图6、图7为一具体的处理器实施例。
如图所示,所述核心计算单元处理器设有4个神经元和一个缓存器L1。所述神经元由8个乘加器组MAC4组成,每个乘加器组MAC4包括4个乘加器单元,所述乘加器单元内设有乘加器MAC、4个目标寄存器与4个导出寄存器,所述目标寄存器与导出寄存器一一对应,所述乘加器MAC的输入端与权重寄存器(W0~W3)、输入激活寄存器分别连接;所述目标寄存器与乘加器MAC的输出端连接,用于存储权重与输入激活数据的计算结果,所述所述导出寄存器与目标寄存器连接,用于计算结果的导出。
所述缓存器L1用于存储波张量分派器WTD分派的输入激活数据和权重数据,所述输入激活寄存器、权重寄存器从所述缓存器L1中调用数据。
所述处理器的人工智能设备核心计算单元加速处理方法,具体过程包括:
所述乘加器单元处理的数据包括非零的权重数据及其在内核中的位置指数、非零的输入激活数据及其在特征图中的位置指数,不同的内核权重数据被分别映射到一个神经元中不同的乘加器组上,并播送到其它神经元内对应的乘加器组中;一个神经元内的乘加器组处理共享相同的输入激活数据,具有相同特征维度,但来自不同输入通道的输入激活数据在同一个乘加器组中进行累加、求最大或最小处理。所述特征维度为输入激活数据在特征图上的位置(X,Y),不同输入通道指维度C不同,如图1所示。相同特征维度但不同输入通道的输入激活数据,可理解为在不同特征图(Feature Map)的相同位置上的IA。
在所述乘加器单元中,权重数据乘以输入激活数据的结果会被累加或与前一个结果进行比较,以得到最大或最小的结果并存储在目标寄存器中。
以3x3内核为例,3x3内核的权重数据与输入激活数据匹配算法为:
设一个乘加器组MAC4包括的4个乘加器单元为MACn(MAC0、MAC1、MAC2、MAC3),对于一个有16个目的地的波张量,则每个乘加器单元MACn可处理其中的4个,所以设置一个乘加器单元MACn包括4个目标寄存器OAmn,n和m为0到3中的一个自然数,即每个乘加器组内分别设有一个4行4列的目标寄存器阵列,如图8所示,m和n分别表述每个目标寄存器在该阵列中的行和列;
权重数据及其在内核中的位置指数(i,j)会被一个乘加器组MAC4接收,所述乘加器组MAC4也将接收放在一个6x6特征图数组中的输入激活数据与它们在数组中的位置指数(s,t),所述i和j分别表示3x3内核数组的某一行和列,所述s和t分别表示6x6特征图数组的某一行和列,i、j为0到2中的一个自然数;s、t为0到5中的一个自然数;
对于每个权重数组元素W(i,j),位置满足条件0<=(s-i)<=3和0<=(t-j)<=3的所有输入激活数据,都和所述W(i,j)一起发送给MAC(t-j),它们相乘,其结果通过目标寄存器(s-j)(第m=s-j行的目标寄存器)处理,这种处理根据用户需求是累加、最大值或最小值,t-j、s-j得到的计算结果为0到3中的一个自然数,s-j表示s减去j得到的目标寄存器的行坐标,或者说m值;t-j表示t减去j得到的目标寄存器所在列坐标,或者说MACn的n值。
在MAC4中,对于每一个W,根据图8中的算法会找到所有匹配的IA,且会被发送到含该W的MAC中以进行处理。在处理内核中的所有W之后,结果要么保留在寄存器中以获取更多的输入通道,要么切换到导出寄存器进行导出。
对于具有人工智能基础知识的人来说,根据本实施例所公开的3x3核的W与IA匹配算法延伸到其它内核大小很容易。以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,本发明要求保护范围由所附的权利要求书、说明书及其等效物界定。

Claims (9)

1.一种用于人工智能设备的核心计算单元处理器,设有多个神经元,其特征在于,所述神经元由多个乘加器组组成,所述乘加器组包括多个乘加器单元,所述乘加器单元具有累加、最大值和最小值的操作功能,各神经元内的乘加器组数量相同,各乘加器组内的乘加器单元数量相同,一个神经元内的乘加器组共享相同的输入激活数据,一个神经元内的乘加器组处理不同的内核权重数据,但不同神经元内相同位序的乘加器组处理同一内核权重数据,各个乘加器组之间没有数据转换;
所述乘加器单元的输入端与权重寄存器、输入激活寄存器分别连接,乘加器单元内设有乘加器MAC、多个目标寄存器和与多个导出寄存器;所述目标寄存器与乘加器MAC连接,用于存储权重与输入激活数据的计算结果;所述导出寄存器与目标寄存器连接,且与目标寄存器一一对应,用于计算结果的导出。
2.根据权利要求1所述的一种用于人工智能设备的核心计算单元处理器,其特征在于,包括4个神经元,所述神经元由8个乘加器组组成,所述乘加器组包括4个乘加器单元。
3.根据权利要求2所述的一种用于人工智能设备的核心计算单元处理器,其特征在于,所述乘加器单元内设有4个导出寄存器和4个目标寄存器。
4.根据权利要求2所述的一种用于人工智能设备的核心计算单元处理器,其特征在于,所述处理器包括一缓存器L1,所述缓存器L1用于存储外部模块派发的输入激活数据和权重数据,所述输入激活寄存器、权重寄存器从所述缓存器L1中调用数据。
5.根据权利要求4所述的一种用于人工智能设备的核心计算单元处理器,其特征在于,所述外部模块为波张量分派器。
6.一种基于处理器的人工智能设备核心计算单元加速处理方法,所述处理器为一种用于人工智能设备的核心计算单元处理器,其特征在于:
所述处理器设有多个神经元,所述神经元由多个乘加器组组成,所述乘加器组包括多个乘加器单元,所述乘加器单元具有累加、最大值和最小值的操作功能,各神经元内的乘加器组数量相同,各乘加器组内的乘加器单元数量相同,一个神经元内的乘加器组共享相同的输入激活数据,一个神经元内的乘加器组处理不同的内核权重数据,但不同神经元内相同位序的乘加器组处理同一内核权重数据,各个乘加器组之间没有数据转换;
所述方法包括以下步骤:
所述乘加器单元处理的数据包括非零的权重数据及其在内核中的位置指数、非零的输入激活数据及其在特征图中的位置指数,不同的内核权重数据被分别映射到一个神经元中不同的乘加器组上,并播送到其它神经元内对应的乘加器组中;一个神经元内的乘加器组处理共享相同的输入激活数据,具有相同特征维度,但来自不同输入通道的输入激活数据在同一个乘加器组中进行累加处理,所述特征维度为输入激活数据在特征图上的位置。
7.根据权利要求6所述的人工智能设备核心计算单元加速处理方法,其特征在于,在所述乘加器单元中,权重数据乘以输入激活数据的结果会被累加或与前一个结果进行比较,以得到最大或最小的结果并存储在目标寄存器中。
8.根据权利要求6所述的人工智能设备核心计算单元加速处理方法,其特征在于,所述处理器设有4个神经元,所述神经元由8个乘加器组MAC4组成,所述MAC4包括4个乘加器单元,乘加器单元内设有乘加器MAC、4个目标寄存器与4个导出寄存器,目标寄存器与导出寄存器一一对应,所述乘加器MAC的输入端与权重寄存器、输入激活寄存器分别连接;所述目标寄存器与乘加器MAC的输出端连接,用于存储权重与输入激活数据的计算结果;所述导出寄存器与目标寄存器连接,用于计算结果的导出。
9.根据权利要求7所述的人工智能设备核心计算单元加速处理方法,其特征在于,其3x3内核的权重数据与输入激活数据匹配算法,包括:
设一个乘加器组MAC4包括4个相同的乘加器单元MACn,对于一个有16个目的地的波张量,则每个乘加器单元MACn可处理其中的4个,所以一个乘加器单元MACn包括4个目标寄存器OAmn,n和m为0到3中的一个自然数,即每个乘加器组内分别设有一个4行4列的目标寄存器阵列,m和n分别表述每个目标寄存器在该阵列中的行和列;
权重数据及其在内核中的位置指数(i,j)会被一个乘加器组MAC4接收,所述乘加器组MAC4也将接收放在一个6x6特征图数组中的输入激活数据与它们在数组中的位置指数(s,t),所述i和j分别表示3x3内核数组的某一行和列,所述s和t分别表示6x6特征图数组的某一行和列,i、j为0到2中的一个自然数;s、t为0到5中的一个自然数;
对于每个权重数组元素W(i,j),位置满足条件0<=(s-i)<=3和0<=(t-j)<=3的所有输入激活数据,都和所述W(i,j)一起发送给MAC(t-j),它们相乘,其结果通过目标寄存器(s-j)处理,这种处理根据用户需求是累加、最大值或最小值,t-j、s-j为0到3中的一个自然数,s-j表示目标寄存器的行坐标,t-j表示目标寄存器所在列坐标,或者说MACn的n值。
CN201810863952.4A 2018-08-01 2018-08-01 用于人工智能设备的核心计算单元处理器及加速处理方法 Active CN110796244B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810863952.4A CN110796244B (zh) 2018-08-01 2018-08-01 用于人工智能设备的核心计算单元处理器及加速处理方法
US16/237,618 US20200042881A1 (en) 2018-08-01 2018-12-31 Methods and Apparatus of Core Compute Units in Artificial Intelligent Devices
PCT/IB2019/056520 WO2020026160A2 (zh) 2018-08-01 2019-07-31 一种用于人工智能设备的核心计算单元处理器及加速处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810863952.4A CN110796244B (zh) 2018-08-01 2018-08-01 用于人工智能设备的核心计算单元处理器及加速处理方法

Publications (2)

Publication Number Publication Date
CN110796244A CN110796244A (zh) 2020-02-14
CN110796244B true CN110796244B (zh) 2022-11-08

Family

ID=69227524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810863952.4A Active CN110796244B (zh) 2018-08-01 2018-08-01 用于人工智能设备的核心计算单元处理器及加速处理方法

Country Status (3)

Country Link
US (1) US20200042881A1 (zh)
CN (1) CN110796244B (zh)
WO (1) WO2020026160A2 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112927125B (zh) * 2021-01-31 2023-06-23 成都商汤科技有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN112906863B (zh) * 2021-02-19 2023-04-07 山东英信计算机技术有限公司 一种神经元加速处理方法、装置、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488565A (zh) * 2015-11-17 2016-04-13 中国科学院计算技术研究所 加速深度神经网络算法的加速芯片的运算装置及方法
CN106056211A (zh) * 2016-05-25 2016-10-26 清华大学 神经元计算单元、神经元计算模块及人工神经网络计算核
CN107862374A (zh) * 2017-10-30 2018-03-30 中国科学院计算技术研究所 基于流水线的神经网络处理系统和处理方法
CN107918794A (zh) * 2017-11-15 2018-04-17 中国科学院计算技术研究所 基于计算阵列的神经网络处理器
CN108009106A (zh) * 2016-10-27 2018-05-08 谷歌公司 神经网络计算模组

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7000211B2 (en) * 2003-03-31 2006-02-14 Stretch, Inc. System and method for efficiently mapping heterogeneous objects onto an array of heterogeneous programmable logic resources
US10360163B2 (en) * 2016-10-27 2019-07-23 Google Llc Exploiting input data sparsity in neural network compute units
US11023807B2 (en) * 2016-12-30 2021-06-01 Microsoft Technology Licensing, Llc Neural network processor
CN108345939B (zh) * 2017-01-25 2022-05-24 微软技术许可有限责任公司 基于定点运算的神经网络
US10621489B2 (en) * 2018-03-30 2020-04-14 International Business Machines Corporation Massively parallel neural inference computing elements

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488565A (zh) * 2015-11-17 2016-04-13 中国科学院计算技术研究所 加速深度神经网络算法的加速芯片的运算装置及方法
CN106056211A (zh) * 2016-05-25 2016-10-26 清华大学 神经元计算单元、神经元计算模块及人工神经网络计算核
CN108009106A (zh) * 2016-10-27 2018-05-08 谷歌公司 神经网络计算模组
CN107862374A (zh) * 2017-10-30 2018-03-30 中国科学院计算技术研究所 基于流水线的神经网络处理系统和处理方法
CN107918794A (zh) * 2017-11-15 2018-04-17 中国科学院计算技术研究所 基于计算阵列的神经网络处理器

Also Published As

Publication number Publication date
WO2020026160A3 (zh) 2021-10-07
CN110796244A (zh) 2020-02-14
US20200042881A1 (en) 2020-02-06
WO2020026160A2 (zh) 2020-02-06

Similar Documents

Publication Publication Date Title
CN111898733B (zh) 一种深度可分离卷积神经网络加速器架构
WO2019041251A1 (zh) 芯片装置及相关产品
CN110163359B (zh) 一种计算装置及方法
US10671288B2 (en) Hierarchical sparse tensor compression method in artificial intelligent devices
CN109447241A (zh) 一种面向物联网领域的动态可重构卷积神经网络加速器架构
US20200042867A1 (en) Hardware architecture for accelerating artificial intelligent processor
CN110796244B (zh) 用于人工智能设备的核心计算单元处理器及加速处理方法
CN110796236A (zh) 多样本多通道卷积神经网络池化的向量化实现方法
US20200242468A1 (en) Neural network computation device, neural network computation method and related products
US20200242455A1 (en) Neural network computation device and method
CN113485750A (zh) 数据处理方法及数据处理装置
CN110197274B (zh) 集成电路芯片装置及相关产品
CN109993290B (zh) 集成电路芯片装置及相关产品
CN214586992U (zh) 神经网络加速电路、图像处理器及三维成像电子设备
CN111382856B (zh) 数据处理装置、方法、芯片及电子设备
CN111382853B (zh) 数据处理装置、方法、芯片及电子设备
Wu et al. Accelerator design for vector quantized convolutional neural network
TWI787430B (zh) 積體電路晶片裝置、晶片、電子設備、及神經網絡的運算方法
CN114330687A (zh) 数据处理方法及装置、神经网络处理装置
CN110765413B (zh) 矩阵求和结构及神经网络计算平台
CN111382852B (zh) 数据处理装置、方法、芯片及电子设备
CN112801289A (zh) 基于注意力机制的自适应分组卷积神经网络结构设计方法
CN110197275B (zh) 集成电路芯片装置及相关产品
CN113807510B (zh) 集成电路芯片装置及相关产品
Ou et al. A configurable hardware accelerator based on hybrid dataflow for depthwise separable convolution

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 201100 no.1628, sushao Road, Minhang District, Shanghai

Applicant after: Shanghai Tiantian smart core semiconductor Co.,Ltd.

Address before: 210012 4 floor, 5 software Avenue, Yuhuatai District, Nanjing, Jiangsu, 180

Applicant before: Nanjing Tianshu Zhixin Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant