CN114201727A - 数据的处理方法、处理器、人工智能芯片及电子设备 - Google Patents
数据的处理方法、处理器、人工智能芯片及电子设备 Download PDFInfo
- Publication number
- CN114201727A CN114201727A CN202111542656.2A CN202111542656A CN114201727A CN 114201727 A CN114201727 A CN 114201727A CN 202111542656 A CN202111542656 A CN 202111542656A CN 114201727 A CN114201727 A CN 114201727A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- sub
- computing
- convolution operation
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 25
- 238000003860 storage Methods 0.000 claims abstract description 131
- 230000003213 activating effect Effects 0.000 claims description 23
- 230000004913 activation Effects 0.000 claims description 13
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000002829 reductive effect Effects 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 63
- 238000004364 calculation method Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 26
- 238000000034 method Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 21
- 230000036961 partial effect Effects 0.000 description 19
- 230000015654 memory Effects 0.000 description 17
- 238000009826 distribution Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 239000012528 membrane Substances 0.000 description 5
- 210000004556 brain Anatomy 0.000 description 3
- 210000005056 cell body Anatomy 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 210000003050 axon Anatomy 0.000 description 2
- 210000001787 dendrite Anatomy 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003376 axonal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Processing (AREA)
Abstract
本公开涉及一种数据的处理方法、处理器、人工智能芯片及电子设备,所述处理方法应用于处理器的计算核,所述处理器包括多个计算核,所述处理方法包括:基于计算核内存储的待处理子数据,生成并激活卷积运算结果;与不同的计算核交换待处理子数据,执行以下步骤,直至每个计算核存储过每一份待处理子数据:释放交换前的待处理子数据所占用的存储空间;基于交换后的待处理子数据,生成并激活卷积运算结果。本公开实施例提供的一种数据的处理方法,待处理子数据未经深度维度上的划分,故其卷积运算结果占用的存储空间较小,即减少了卷积运算结果在单个计算核中所占用的存储空间,进而实现了待处理数据在硬件资源紧缺的情况下仍然能够被正常处理。
Description
技术领域
本公开涉及数据处理领域,尤其涉及一种数据的处理方法、处理器、人工智能芯片及电子设备。
背景技术
类脑计算芯片采用去中心化的众核并行处理架构,每个计算核可独立运行,并进行数据交换。在通常情况下,类脑计算芯片在待处理数据过大的情况下,需要将待处理数据划分为多个不完整的待处理子数据,故如何处理待处理子数据,将影响类脑计算芯片的处理效率、内存占用率。
发明内容
根据本公开的第一方面,提供了一种数据的处理方法,应用于处理器的计算核,所述处理器包括多个计算核,所述处理方法包括:基于计算核内存储的待处理子数据,生成并激活卷积运算结果;与不同的计算核交换待处理子数据,执行以下步骤,直至每个计算核存储过每一份待处理子数据:释放交换前的待处理子数据所占用的存储空间;基于交换后的待处理子数据,生成并激活卷积运算结果;其中,所述待处理子数据为待处理数据的一部分,且所述待处理子数据与所述待处理数据的深度相同。
在一种可能的实施方式中,所述处理方法还包括:在至少一个非深度维度上划分待处理数据为待处理子数据;存储每个所述待处理子数据至不同的计算核中。
在一种可能的实施方式中,所述生成并激活卷积运算结果,包括:基于每个计算核内存储的权值数据、待处理子数据,生成卷积运算结果;通过预设的激活函数,激活所述卷积运算结果。
在一种可能的实施方式中,所述在至少一个非深度维度上划分待处理数据为待处理子数据,包括:在待处理数据的最后存储顺序维度且非深度维度上,划分待处理数据为待处理子数据;其中,所述存储顺序维度用以确定所述待处理数据在不同维度上的存储顺序。
在一种可能的实施方式中,所述交换不同的计算核之间的待处理子数据,包括:基于每个计算核的分配顺序编号、交换次数,确定每份待交换的待处理子数据占用的动态存储空间编号;其中,所述分配顺序编号用以表示待处理子数据的分配顺序;根据所述动态存储空间编号,为每份待交换的待处理子数据分配动态存储空间。
在一种可能的实施方式中,所述多个计算核,通过并行同步运算的方式,执行所述与不同的计算核交换待处理子数据、所述释放交换前的待处理子数据占用的存储空间、所述生成并激活卷积运算结果中的至少一个步骤。
根据本公开的第二方面,提供了一种处理器,所述处理器包括多个处理器,所述处理器包括多个计算核,所述处理器用以执行:基于计算核内存储的待处理子数据,生成并激活卷积运算结果;与不同的计算核交换待处理子数据,执行以下步骤,直至每个计算核存储过每一份待处理子数据:释放交换前的待处理子数据所占用的存储空间;基于交换后的待处理子数据,生成并激活卷积运算结果;其中,所述待处理子数据为待处理数据的一部分,且所述待处理子数据与所述待处理数据的深度相同。
在一种可能的实施方式中,所述处理器还用以执行:在至少一个非深度维度上划分待处理数据为待处理子数据;存储每个所述待处理子数据至不同的计算核中。
在一种可能的实施方式中,所述生成并激活卷积运算结果,包括:基于每个计算核内存储的权值数据、待处理子数据,生成卷积运算结果;通过预设的激活函数,激活所述卷积运算结果。
在一种可能的实施方式中,所述在至少一个非深度维度上划分待处理数据为待处理子数据,包括:在待处理数据的最后存储顺序维度且非深度维度上,划分待处理数据为待处理子数据;其中,所述存储顺序维度用以确定所述待处理数据的在不同维度上的存储顺序。
在一种可能的实施方式中,所述交换不同的计算核之间的待处理子数据,包括:基于每个计算核的分配顺序编号、交换次数,确定每份待交换的待处理子数据占用的动态存储空间编号;其中,所述分配顺序编号用以表示待处理子数据的分配顺序;根据所述动态存储空间编号,为每份待交换的待处理子数据分配动态存储空间。
在一种可能的实施方式中,所述多个计算核,通过并行同步运算的方式,执行所述与不同的计算核交换待处理子数据、所述释放交换前的待处理子数据占用的存储空间、所述生成并激活卷积运算结果中的至少一个步骤。
根据本公开的第三方面,提供了一种人工智能芯片,所述人工智能芯片包括上述任意一项所述的处理器。
根据本公开的第四方面,提供了一种电子设备,所述电子设备包括上述的人工智能芯片。
本公开实施例提供了一种数据的处理方法,应用于处理器的计算核,上述处理方法基于计算核内存储的待处理子数据,生成并激活卷积运算结果;与不同的计算核交换待处理子数据,释放交换前的待处理子数据所占用的存储空间;而后基于交换后的待处理子数据,生成并激活卷积运算结果,由于待处理子数据未经深度维度上的划分,故其卷积运算结果占用的存储空间较小,即减少了卷积运算结果在单个计算核中所占用的存储空间,进而实现了待处理数据在硬件资源紧缺的情况下仍然能够被正常处理。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1为相关技术中逐级求和方式实现卷积运算过程的参考示意图。
图2为相关技术中通过装载初值膜电位的方法实现卷积运算过程的参考示意图。
图3为根据本公开一实施例提供的人工智能芯片的参考示意图。
图4为根据本公开一实施例提供的数据的处理方法的流程图。
图5为根据本公开一实施例提供的数据的处理方法的参考示意图。
图6为根据本公开一实施例提供的数据的处理方法的流程图。
图7为根据本公开一实施例提供的一种电子设备的框图。
图8为根据本公开一实施例提供的一种电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
请参阅图1,图1为相关技术中逐级求和方式实现卷积运算过程的参考示意图。
结合图1所示,在卷积运算过程中,假设待处理数据的总深度为128,则可以将待处理数据在深度方向上划分为4个待处理子数据,并分别送入计算核0至3,进行卷积运算,在卷积运算后,得到部分和数据(在深度维度上切分待处理数据,在此情况下待处理子数据卷积后的值称之为部分和,表示为图1中Sm=0至Sm=3),也即待处理子数据的卷积运算结果。其中,计算核0存储着深度为0至31的部分和数据,计算核1存储着深度为32至63的部分和数据,计算核2存储着深度为64至95的部分和数据,计算核3存储着深度为96至127的部分和数据。通过逐级求和的方式,经计算阶段Phase1至Phase3实现部分和数据的相加,而后在计算核3中经预设的激活函数,激活相加后的部分和数据。
示例性地,在第一个计算阶段Phase1,计算核0将存储的深度为0至31的部分和数据发送给计算核1。而后计算核1将接收到的深度为0至31的部分和数据与计算核1内存储的深度为32至63的部分和数据进行相加运算,得到相加结果,也即深度为0至63的部分和数据。
在第二个计算阶段Phase2,计算核1将存储的深度为0至63的部分和数据发送给计算核2。而后计算核2将接收到的深度为0至63的部分和数据与计算核2内存储的深度为64至95的部分和数据进行相加运算,得到相加结果,也即深度为0至95的部分和数据。
在第三个计算阶段Phase3,计算核2将存储的深度为0至95的部分和数据发送给计算核3。而后计算核3将接收到的深度为0至95的部分和数据与计算核3内存储的深度为96至127的部分和数据进行相加运算,得到相加结果,也即深度为0至127的部分和数据,也为待处理数据的卷积运算结果。而后计算核3将卷积运算结果激活,以增加数据的非线性程度,并释放激活前的深度为0至127的部分和数据,以完成待处理数据的卷积运算。
由此可见,在上述逐级求和的方案中,大部分计算核处于空闲状态,例如计算核1在接收计算核0发送的部分和数据后,在计算核1进行深度0至63的部分和运算时,计算核2、3处于等待状态,其中计算核3在整个逐级求和过程中的等待时间最长,易造成计算资源浪费。此外,部分和数据占据的位宽较大,通常为待处理数据、权值数据的四倍或是十六倍,计算核可能因为部分和数据占用的存储空间过大而导致剩余的存储空间不足,而且发送部分和数据的路由发送延时也较长。
请参阅图2,图2为相关技术中通过装载初值膜电位的方法实现卷积运算过程的参考示意图。
如图2所示,对待处理数据Xn不做深度方向的切分,对权值数据W做深度方向的切分,即对权值数据W中各个卷积核的深度方向进行切分。其中,权值数据可以包括N个卷积核。沿着深度方向将权值数据W切分为4份,分别为权值数据W0、权值数据W1、权值数据W2和权值数据W3。例如,权值数据W的深度为128,则可以沿着深度方向将权值数据切分为4份,W0表示深度为0-31的权值数据,W1表示深度为32-63的权值数据,W2表示深度为64-95的权值数据,W3表示深度为96-127的权值数据。
在T0计算周期,将待处理数据Xn(n=1-4)以及切分后的权值数据W0-W3分别送入计算核Core0-Core3,计算核Core0中存储着待处理数据X0与权值数据W0,计算核Core1中存储着待处理数据X1与权值数据W1,计算核Core2中存储着待处理数据X2与权值数据W2,计算核Core3中存储着待处理数据X3与权值数据W3。
各个计算核对接收的待处理数据和切分后的权值数据进行卷积运算,获得卷积运算结果(部分和)。例如,计算核Core0对接收的待处理数据X0和权值数据W0进行卷积运算,得到运算结果Vout_0,即Vout_0=X0*W0。其中,运算结果Vout_0为对应切分后权值数据W0的深度的部分和。
在T0计算周期计算完毕之后,计算核Core0至Core3在接下来的计算周期分轮将各自存储的权值数据W0-W3发送至其他计算核。在之后的每个计算周期中,各计算核同步收发对应的权值数据,并在权值数据收发完毕后,进行权值数据与待处理数据的卷积运算,可以一边卷积运算一边相加上一轮(计算周期)的运算结果。其中,上一轮的运算结果(部分和)在本轮运算中称为初值膜电位。
例如,计算核Core0可以将权值数据W0发送给计算核Core2,并接收计算核Core1发送的权值数据W1。将接收到的权值数据W1与计算核Core0存储的待处理数据X0进行卷积运算,再将得到卷积运算结果X0*W1与上一轮(T0计算周期)的运算结果Vout_0相加,得到运算结果Vout_1,即Vout_1=X0*W1+Vout_0。其中,运算结果Vout_1为对应切分后权值数据W0与权值数据W1的深度的部分和。计算核Core0可以一边卷积运算,一边与上一轮的运算结果Vout_0相加,上一轮的运算结果Vout_0在本轮运算中称为初值膜电位。
但是基于装载初值膜电位的方法进行卷积运算,依旧无法减少卷积运算结果在单个计算核中所占用的存储空间,如上例中,计算核Core3最终存储的数据为Vout_3=X0*W0+X0*W1+X0*W2+X0*W3),激活前仍然会占用单个计算核的大量存储空间。
有鉴于此,本公开实施例提供了一种数据的处理方法,应用于处理器的计算核,上述处理方法基于计算核内存储的待处理子数据,生成并激活卷积运算结果;与不同的计算核交换待处理子数据,释放交换前的待处理子数据所占用的存储空间;而后基于交换后的待处理子数据,生成并激活卷积运算结果,由于待处理子数据未经深度维度上的划分,故其卷积运算结果占用的存储空间较小(后续将结合示例予以详述),即减少了卷积运算结果在单个计算核中所占用的存储空间,进而实现了待处理数据在硬件资源紧缺的情况下仍然能够被正常处理。
参阅图3所示,图3为根据本公开一实施例提供的人工智能芯片的参考示意图。如图3所示,人工智能芯片可包括多个处理器。
在一种可能的实施方式中,如图3所示,每个处理器可包括多个计算核,每个处理器内部的计算核之间、以及不同处理器的计算核之间能够进行数据传输;其中,每个计算核包括存储部件,所述存储部件用于存储与其他计算核进行传输的数据。
在一种可能的实现方式中,如图3所示,每个计算核可包括处理部件及存储部件。所述处理部件可以包括树突单元、轴突单元、胞体单元、路由单元。所述存储部件可以包括多个存储单元。
在一种可能的实现方式中,多个处理器也可以集成在一个类脑计算芯片中,类脑计算芯片即存算一体的神经形态电路,以大脑的处理模式为参考,通过模拟大脑中神经元对信息的传递与处理,提升处理效率并降低功耗。每个处理器可包括多个计算核,计算核之间可独立处理不同的任务,或并行处理同一任务,以提升处理效率。计算核之间可通过计算核内的路由单元进行核间信息传输。
在计算核之内,可以设置有处理部件和存储部件。处理部件可以包括树突单元、轴突单元、胞体单元和路由单元。处理部件可以模拟大脑的神经元对信息的处理模式,其中,树突单元用于接收信号,轴突单元用于发送尖峰信号,胞体单元用于信号的集成变换,路由单元用于同其它计算核进行信息传输。计算核内的处理部件可以对存储部件的多个存储单元进行读写访问,以与计算核内的存储部件进行数据交互,并可分别承担各自的数据处理任务和/或数据传输任务,以获得数据处理结果,或者与其他计算核进行通信。其中,与其他计算核进行通信包括与本处理器内的其他计算核进行通信,以及与其他处理器内的计算核通信。
在一种可能的实现方式中,所述存储部件包括多个存储单元,其中,存储单元可以为静态随机存取存储器(Static Random Access Memory,SRAM)。例如,可以包括读写宽度为16B,容量为12KB的SRAM。本公开对存储单元的容量大小和位宽不做限定。
基于以上人工智能芯片,请参阅图4,图4为根据本公开一实施例提供的数据的处理方法的流程图。上述处理方法包括以下步骤:
步骤S100,基于计算核内存储的待处理子数据,生成并激活卷积运算结果。所述待处理子数据为待处理数据的一部分,且所述待处理子数据与所述待处理数据的深度相同。示例性地,上述待处理数据可为图像、音频、文本数据等,用以与权值数据相乘,以生成待处理数据的卷积运算结果。上述权值数据可包括多个卷积核,用以提取上述待处理数据中的不同种类的特征,研究人员可根据实际情况设定卷积核的相关设置参数,本公开实施例在此不作限定。在一个示例中,上述待处理数据可保存在一外接存储器或人工智能芯片中的一个处理器A中,该外接存储器或一个处理器A可通过与另一个处理器B连接,以传输待处理子数据至处理器B的部分或全部计算核中。
在一个示例中,步骤S100可包括:基于每个计算核内存储的权值数据、待处理子数据,生成卷积运算结果。通过预设的激活函数,激活所述卷积运算结果。示例性地,每个计算核内存储的权值数据可不同,例如:权值数据包括64个的卷积核,若有4个计算核,则每个计算核内存储的权值数据为64个卷积核中的16个卷积核,待处理数据也划分为4份,发送至上述4个计算核。换言之,在权值数据划分后的情况下,待处理子数据的数量与划分后的权值数据的数量相同。若权值数据未经划分,则待处理子数据的数量可根据实际硬件情况选择。上述激活函数可参考相关技术中的激活函数,例如:RELU函数、Sigmod函数、Maxout函数等,本公开实施例在此不作限制。
继续参阅图4,步骤S200,与不同的计算核交换待处理子数据,直至每个计算核存储过每一份待处理子数据。在一种可能的实施方式中,步骤S200可包括:基于每个计算核的分配顺序编号、交换次数,确定每份待交换的待处理子数据占用的动态存储空间编号。根据所述动态存储空间编号,为每份待交换的待处理子数据分配动态存储空间。其中,所述分配顺序编号用以表示待处理子数据的分配顺序。
示例性地,上述分配顺序编号用以表示待处理子数据分配至不同计算核的顺序,也即待处理子数据在存储维度顺序上的存储顺序编号。上述交换次数用以表示计算核与其他计算核进行数据交换的次数。
示例性地,每个计算核对应的权值数据可存储至静态存储空间,对应的待处理子数据可存储至动态存储空间(即权值数据在交换过程中不会改变其值,而计算核中待处理子数据在每次交换时均在变化)。例如:上述动态存储空间可划分为k个区域,每个区域对应可一个动态存储空间编号,交换前的待处理子数据与交换后的待处理子数据对应的动态存储空间编号不同,以避免两个待处理子数据占用同一动态存储空间,进而降低了发生数据冲毁的概率。
示例性地,上述计算核在每次交换过程中所对应的动态存储空间编号可遵照如下Python伪代码进行计算:
For(i=0;i++;i<N):
For(T=0;T++;T<N):
Address_Core[i][T]=(i+T)%M
以上代码中,i为计算核的分配顺序编号。N为待处理数据的划分数量,也即待交换的计算核总数。T为交换次数,也可理解为第T个时间段。M为动态存储空间的划分数量。Address_Core[i][T]则表示第i个计算核在第T个时间段所占用的动态存储空间编号。
例如:待处理子数据A、B、C、D共4份,分别存储于计算核0至计算核3,每个计算核内的动态存储空间分为4份,编号为0至3。
则在T0时间段(也即第0次交换),计算核0将待处理子数据A存储至编号为0的动态存储空间。计算核1将待处理子数据B存储至编号为1(即(i+T)%M=(1+0)%4=1)的动态存储空间。计算核2将待处理子数据C存储至编号为2的动态存储空间。计算核3将待处理子数据D存储至编号为3的动态存储空间。
在T1时间段(也即第1次交换)计算核0接收待处理子数据B,并存储至编号为1的动态存储空间。计算核1接收待处理子数据C,并存储至编号为2的动态存储空间。计算核2接收待处理子数据D,并存储至编号为3的动态存储空间。计算核3接收待处理子数据A,并存储至编号为0(即(i+T)%M=(3+1)%4=0)的动态存储空间。
后续T2、T3时间段本公开实施例在此不作赘述,上述动态存储空间编号的分配方式也仅作为示例性地表述,在交换前、交换后的待处理子数据的动态存储空间不同的前提下,可任意选取交换后的待处理子数据所占用的动态存储空间。
继续参阅图4,步骤S200中执行步骤S210、S220,即在每次交换待处理子数据时计算核执行步骤S210、S220。步骤S210,释放交换前的待处理子数据所占用的存储空间。步骤S220,基于交换后的待处理子数据,生成并激活卷积运算结果。
示例性地,若待处理子数据为n份,则待处理子数据被分配至n个计算核,每个计算核与其他计算核之间,交换未处理过的待处理子数据,则在交换n-1次后,每个计算核内都存储过每个待处理子数据。每个计算核在接收到新的待处理子数据后,会释放交换前的待处理子数据,以增加每个计算核内的可用存储空间,而后基于交换后的待处理子数据,生成并激活卷积运算结果。在一个示例中,不同的计算核可通过并行同步运算的方式执行以上任意步骤。
例如:待处理数据若为三维数据,其包括数据深度Cin(在卷积的过程中,该参数将被忽略,即可理解为数据深度变为1,而后经Cout个卷积核依次卷积,数据深度变为Cout)、数据宽度W、数据高度H,相关技术中其在深度方向中被划分为4份,每个计算核使用Cout个卷积核进行卷积运算,则每个计算核卷积后的待处理子数据(也即部分和)大小为H*W*Cout,每个计算核进行待处理子数据交换,则在激活之前,每个计算核中部分和所占用的数据空间共为H*W*Cout*4,而后激活为卷积运算结果后,数据大小变为H*W*Cout。
而在本公开实施例中,同样的待处理数据在非深度方向上若被划分为4份,例如:在高度方向上划分为4份,则每个计算核卷积后的待处理子数据大小为(H/4)*W*Cout,而后可直接激活,经4次数据交换后,数据大小变为H*W*Cout。
为直观表现上述两种方式的不同,本公开实施例在此列举了不同时间段(也称交换次数)时二者的存储空间占用量:
在T0时段,在相关技术的计算核中卷积运算结果的存储空间占用大小为H*W*Cout,在本公开实施例的计算核中卷积运算结果的存储空间占用大小为(H/4)*W*Cout,为相关技术中的四分之一。
在T1时段,在相关技术的计算核中卷积运算结果的存储空间占用大小为2*H*W*Cout,在本公开实施例的计算核中卷积运算结果的存储空间占用大小为(H/2)*W*Cout,为相关技术中的四分之一。
在T2时段,在相关技术的计算核中卷积运算结果的存储空间占用大小为3*H*W*Cout,在本公开实施例的计算核中卷积运算结果的存储空间占用大小为(3/4*H)*W*Cout,为相关技术中的四分之一。
在T3时段,在相关技术的计算核中卷积运算结果的存储空间占用大小为4*H*W*Cout,在本公开实施例的计算核中卷积运算结果的存储空间占用大小为H*W*Cout,为相关技术中的四分之一。而后相关技术通过将4个H*W*Cout相加,并激活,数据大小变为H*W*Cout。
如上例所示,在T0、T1、T2时段以及T3时段中部分和未激活的时段,在相关技术的计算核中卷积运算结果的存储大小均为本公开实施例的4倍,极大地占用了计算核的可用存储空间。
请参照图5所示,图5为根据本公开一实施例提供的数据的处理方法的参考示意图。
如图5所示,待处理数据子数据分别为深度为128的0-13行数据、14-27行数据、28-41行数据、42-55行数据。0-13行数据被分配至Core0,14-27行数据被分配至Core1、28-41行数据被分配至Core2、42-55行数据被分配至Core3,也即图5中的T0时间段。每个计算核存储有权值数据,即Core0-Core3分别依次存储权值数据W0-W3。
在T0时间段,Core0中0-13行数据与W0相乘,生成并激活卷积运算结果。Core1中14-27行数据与W1相乘,生成并激活卷积运算结果。Core2中28-41行数据与W2相乘,生成并激活卷积运算结果。Core3中42-55行数据与W3相乘,生成并激活卷积运算结果。
在T1时间段,Core0将0-13行数据释放,将交换到的42-55行数据与W0相乘,生成并激活卷积运算结果。Core1将14-27行数据释放,将交换到的0-13行数据与W1相乘,生成并激活卷积运算结果。Core2将28-41行数据释放,将交换到的14-27行数据与W2相乘,生成并激活卷积运算结果。Core3将42-55行数据释放,将交换到的28-41行数据与W3相乘,生成并激活卷积运算结果。T2、T3时间段与上述时间段类似,在此不作赘述。
本公开实施例提供了一种数据的处理方法,应用于处理器的计算核,上述处理方法基于计算核内存储的待处理子数据,生成并激活卷积运算结果;与不同的计算核交换待处理子数据,释放交换前的待处理子数据所占用的存储空间;而后基于交换后的待处理子数据,生成并激活卷积运算结果,由于待处理子数据未经深度维度上的划分,故其卷积运算结果占用的存储空间较小,即减少了卷积运算结果在单个计算核中所占用的存储空间,进而实现了待处理数据在硬件资源紧缺的情况下仍然能够被正常处理。
请参阅图6,图6为根据本公开一实施例提供的数据的处理方法的流程图。在一种可能的实施方式中,步骤S100之前还包括:
步骤S300,在至少一个非深度维度上划分待处理数据为待处理子数据。例如:待处理数据若为三维数据,其包括深度维度、宽度维度、高度维度,则在宽度维度、高度维度中选择至少一个维度划分待处理数据为待处理子数据。在一个示例中,可根据如下规则进行划分维度的选取:在待处理数据的最后存储顺序维度且非深度维度上,划分待处理数据为待处理子数据。其中,所述存储顺序维度用以确定所述待处理数据在不同维度上的存储顺序。例如:待处理数据的存储顺序为先深度维度、后高度维度、再宽度维度,则待处理数据在宽度维度上进行划分,以保持待处理数据在维度上的连续性,便于待处理子数据有序分配至计算核。本公开实施例通过将待处理子数据存至多个计算核的方式,降低了单个计算核存储待处理数据的存储压力,在有N个计算核的情况下(也即权值数据分为N组的情况下),每个计算核存储的数据存储量仅为1/N。此外,每个待处理子数据的重复利用率也更高,即在每次计算核交换数据时,每个待处理子数据均会被调用。
步骤S400,存储每个所述待处理子数据至不同的计算核中。本公开实施例在此并不限定待处理子数据分配至计算核的方式,上述计算核中带有待处理数据对应的权值数据即可。示例性地,步骤S300、S400可由存储有待处理数据的处理器、计算核、存储介质执行,而后将划分的待处理子数据发送至不同的计算核中。
可经以上步骤,再执行上述步骤S100、S200,本公开实施例在此不作赘述。而在待处理数据已被划分为多个待处理子数据的情况下,可省略步骤S300、S400。
在一种可能的实施方式中,本公开实施例还提供了一种处理器,所述处理器包括多个处理器,所述处理器包括多个计算核,所述处理器用以执行:基于计算核内存储的待处理子数据,生成并激活卷积运算结果;与不同的计算核交换待处理子数据,执行以下步骤,直至每个计算核存储过每一份待处理子数据:释放交换前的待处理子数据所占用的存储空间;基于交换后的待处理子数据,生成并激活卷积运算结果;其中,所述待处理子数据为待处理数据的一部分,且所述待处理子数据与所述待处理数据的深度相同。
在一种可能的实施方式中,所述处理器还用以执行:在至少一个非深度维度上划分待处理数据为待处理子数据;存储每个所述待处理子数据至不同的计算核中。
在一种可能的实施方式中,所述生成并激活卷积运算结果,包括:基于每个计算核内存储的权值数据、待处理子数据,生成卷积运算结果;通过预设的激活函数,激活所述卷积运算结果。
在一种可能的实施方式中,所述在至少一个非深度维度上划分待处理数据为待处理子数据,包括:在待处理数据的最后存储顺序维度且非深度维度上,划分待处理数据为待处理子数据;其中,所述存储顺序维度用以确定所述待处理数据的在不同维度上的存储顺序。
在一种可能的实施方式中,所述交换不同的计算核之间的待处理子数据,包括:基于每个计算核的分配顺序编号、交换次数,确定每份待交换的待处理子数据占用的动态存储空间编号;其中,所述分配顺序编号用以表示待处理子数据的分配顺序;根据所述动态存储空间编号,为每份待交换的待处理子数据分配动态存储空间。
在一种可能的实施方式中,所述多个计算核,通过并行同步运算的方式,执行所述与不同的计算核交换待处理子数据、所述释放交换前的待处理子数据占用的存储空间、所述生成并激活卷积运算结果中的至少一个步骤。
在一些实施例中,本公开实施例提供的处理器具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
在一种可能的实现方式中,本公开实施例还提出一种人工智能芯片,所述芯片包括如上所述的处理器。如图3所示,所述芯片可以包括一个或多个处理器,所述处理器可以包括多个计算核,本公开对芯片内计算核的数量不做限制。
在一种可能的实现方式中,本公开实施例提出了一种电子设备,所述电子设备包括如上所述的人工智能芯片。
请参阅图7所示,图7为根据本公开一实施例提供的一种电子设备1200的框图。如图7中所示,该电子设备1200包括计算处理装置1202(例如,上述包括多个计算核的人工智能处理器)、接口装置1204、其他处理装置1206和存储装置1208。根据不同的应用场景,计算处理装置中可以包括一个或多个计算装置1210(例如,计算核)。
在一种可能的实现方式中,本公开的计算处理装置可以配置成执行用户指定的操作。在示例性的应用中,该计算处理装置可以实现为单芯片人工智能处理器或者多芯片人工智能处理器。类似地,包括在计算处理装置内的一个或多个计算装置可以实现为人工智能芯片或者人工智能芯片的部分硬件结构。当多个计算装置实现为人工智能芯片或人工智能芯片的部分硬件结构时,就本公开的计算处理装置而言,其可以视为具有单芯片结构或者同构多芯片结构。
在示例性的操作中,本公开的计算处理装置可以通过接口装置与其他处理装置进行交互,以共同完成用户指定的操作。根据实现方式的不同,本公开的其他处理装置可以包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics ProcessingUnit,GPU)、人工智能处理器等通用和/或专用处理器中的一种或多种类型的处理器。这些处理器可以包括但不限于数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,并且其数目可以根据实际需要来确定。如前所述,仅就本公开的计算处理装置而言,其可以视为具有单核结构或者同构多核结构。然而,当将计算处理装置和其他处理装置共同考虑时,二者可以视为形成异构多核结构。
在一个或多个实施例中,该其他处理装置可以作为本公开的计算处理装置(其可以具体化为人工智能例如神经网络计算的相关计算装置)与外部数据和控制的接口,执行包括但不限于数据搬运、对计算装置的开启和/或停止等基本控制。在另外的实施例中,其他处理装置也可以和该计算处理装置协作以共同完成计算任务。
在一个或多个实施例中,该接口装置可以用于在计算处理装置与其他处理装置间传输数据和控制指令。例如,该计算处理装置可以经由所述接口装置从其他处理装置中获取输入数据,写入该计算处理装置片上的存储装置(或称存储器)。进一步,该计算处理装置可以经由所述接口装置从其他处理装置中获取控制指令,写入计算处理装置片上的控制缓存中。替代地或可选地,接口装置也可以读取计算处理装置的存储装置中的数据并传输给其他处理装置。
附加地或可选地,本公开的电子设备还可以包括存储装置。如图中所示,该存储装置分别与所述计算处理装置和所述其他处理装置连接。在一个或多个实施例中,存储装置可以用于保存所述计算处理装置和/或所述其他处理装置的数据。例如,该数据可以是在计算处理装置或其他处理装置的内部或片上存储装置中无法全部保存的数据。
根据不同的应用场景,本公开的人工智能芯片可用于服务器、云端服务器、服务器集群、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、PC设备、物联网终端、移动终端、手机、行车记录仪、导航仪、传感器、摄像头、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、视觉终端、自动驾驶终端、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
请参阅图8,图8为根据本公开一实施例提供的一种电子设备的框图。
例如,电子设备1900可以被提供为一终端设备或服务器。参照图8,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服务器操作系统(Windows ServerTM),苹果公司推出的基于图形用户界面操作系统(Mac OSXTM),多用户多进程的计算机操作系统(UnixTM),自由和开放原代码的类Unix操作系统(LinuxTM),开放原代码的类Unix操作系统(FreeBSDTM)或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (14)
1.一种数据的处理方法,应用于处理器的计算核,所述处理器包括多个计算核,其特征在于,所述处理方法包括:
基于计算核内存储的待处理子数据,生成并激活卷积运算结果;
与不同的计算核交换待处理子数据,执行以下步骤,直至每个计算核存储过每一份待处理子数据:
释放交换前的待处理子数据所占用的存储空间;
基于交换后的待处理子数据,生成并激活卷积运算结果;
其中,所述待处理子数据为待处理数据的一部分,且所述待处理子数据与所述待处理数据的深度相同。
2.如权利要求1所述的处理方法,其特征在于,所述处理方法还包括:
在至少一个非深度维度上划分待处理数据为待处理子数据;
存储每个所述待处理子数据至不同的计算核中。
3.如权利要求2所述的处理方法,其特征在于,所述生成并激活卷积运算结果,包括:
基于每个计算核内存储的权值数据、待处理子数据,生成卷积运算结果;
通过预设的激活函数,激活所述卷积运算结果。
4.如权利要求2所述的处理方法,其特征在于,所述在至少一个非深度维度上划分待处理数据为待处理子数据,包括:
在待处理数据的最后存储顺序维度且非深度维度上,划分待处理数据为待处理子数据;其中,所述存储顺序维度用以确定所述待处理数据在不同维度上的存储顺序。
5.如权利要求2所述的处理方法,其特征在于,所述交换不同的计算核之间的待处理子数据,包括:
基于每个计算核的分配顺序编号、交换次数,确定每份待交换的待处理子数据占用的动态存储空间编号;其中,所述分配顺序编号用以表示待处理子数据的分配顺序;
根据所述动态存储空间编号,为每份待交换的待处理子数据分配动态存储空间。
6.如权利要求1所述的处理方法,其特征在于,所述多个计算核,通过并行同步运算的方式,执行所述与不同的计算核交换待处理子数据、所述释放交换前的待处理子数据占用的存储空间、所述生成并激活卷积运算结果中的至少一个步骤。
7.一种处理器,所述处理器包括多个处理器,所述处理器包括多个计算核,其特征在于,所述处理器用以执行:
基于计算核内存储的待处理子数据,生成并激活卷积运算结果;
与不同的计算核交换待处理子数据,执行以下步骤,直至每个计算核存储过每一份待处理子数据:
释放交换前的待处理子数据所占用的存储空间;
基于交换后的待处理子数据,生成并激活卷积运算结果;
其中,所述待处理子数据为待处理数据的一部分,且所述待处理子数据与所述待处理数据的深度相同。
8.如权利要求7所述的处理器,其特征在于,所述处理器还用以执行:
在至少一个非深度维度上划分待处理数据为待处理子数据;
存储每个所述待处理子数据至不同的计算核中。
9.如权利要求8所述的处理器,其特征在于,所述生成并激活卷积运算结果,包括:
基于每个计算核内存储的权值数据、待处理子数据,生成卷积运算结果;
通过预设的激活函数,激活所述卷积运算结果。
10.如权利要求8所述的处理器,其特征在于,所述在至少一个非深度维度上划分待处理数据为待处理子数据,包括:
在待处理数据的最后存储顺序维度且非深度维度上,划分待处理数据为待处理子数据;其中,所述存储顺序维度用以确定所述待处理数据的在不同维度上的存储顺序。
11.如权利要求8所述的处理器,其特征在于,所述交换不同的计算核之间的待处理子数据,包括:基于每个计算核的分配顺序编号、交换次数,确定每份待交换的待处理子数据占用的动态存储空间编号;其中,所述分配顺序编号用以表示待处理子数据的分配顺序;
根据所述动态存储空间编号,为每份待交换的待处理子数据分配动态存储空间。
12.如权利要求7所述的处理器,其特征在于,所述多个计算核,通过并行同步运算的方式,执行所述与不同的计算核交换待处理子数据、所述释放交换前的待处理子数据占用的存储空间、所述生成并激活卷积运算结果中的至少一个步骤。
13.一种人工智能芯片,其特征在于,所述人工智能芯片包括如权利要求7至12中任意一项所述的处理器。
14.一种电子设备,其特征在于,所述电子设备包括如权利要求13所述的人工智能芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111542656.2A CN114201727A (zh) | 2021-12-16 | 2021-12-16 | 数据的处理方法、处理器、人工智能芯片及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111542656.2A CN114201727A (zh) | 2021-12-16 | 2021-12-16 | 数据的处理方法、处理器、人工智能芯片及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114201727A true CN114201727A (zh) | 2022-03-18 |
Family
ID=80654477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111542656.2A Pending CN114201727A (zh) | 2021-12-16 | 2021-12-16 | 数据的处理方法、处理器、人工智能芯片及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114201727A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858178A (zh) * | 2023-02-21 | 2023-03-28 | 芯砺智能科技(上海)有限公司 | 一种卷积计算中资源共享的方法、装置、介质及设备 |
-
2021
- 2021-12-16 CN CN202111542656.2A patent/CN114201727A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858178A (zh) * | 2023-02-21 | 2023-03-28 | 芯砺智能科技(上海)有限公司 | 一种卷积计算中资源共享的方法、装置、介质及设备 |
CN115858178B (zh) * | 2023-02-21 | 2023-06-06 | 芯砺智能科技(上海)有限公司 | 一种卷积计算中资源共享的方法、装置、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111309486B (zh) | 转换方法、装置、计算机设备和存储介质 | |
CN109284815B (zh) | 神经网络模型算法编译方法、装置及相关产品 | |
CN111488205B (zh) | 面向异构硬件架构的调度方法和调度系统 | |
CN110458285B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110825436B (zh) | 应用于人工智能芯片的计算方法和人工智能芯片 | |
CN116467061B (zh) | 一种任务执行的方法、装置、存储介质及电子设备 | |
CN112799598A (zh) | 一种数据处理方法、处理器及电子设备 | |
CN112463160A (zh) | 编译方法、装置、电子设备和存储介质 | |
CN112686379B (zh) | 集成电路装置、电子设备、板卡和计算方法 | |
US11023825B2 (en) | Platform as a service cloud server and machine learning data processing method thereof | |
CN109711540B (zh) | 一种计算装置及板卡 | |
CN114201727A (zh) | 数据的处理方法、处理器、人工智能芯片及电子设备 | |
CN112084023B (zh) | 数据并行处理的方法、电子设备及计算机可读存储介质 | |
CN110458286B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111061507A (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111047005A (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111260070B (zh) | 运算方法、装置及相关产品 | |
CN111260046B (zh) | 运算方法、装置及相关产品 | |
CN111258641B (zh) | 运算方法、装置及相关产品 | |
CN112817898A (zh) | 数据传输方法、处理器、芯片及电子设备 | |
CN112766475A (zh) | 处理部件及人工智能处理器 | |
CN114282679A (zh) | 数据处理方法、装置和存储介质 | |
CN112395006B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111047030A (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN112801278B (zh) | 数据处理方法、处理器、芯片及电子设备 |
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 |