CN107632965B - 可重构的s型运算装置及运算方法 - Google Patents
可重构的s型运算装置及运算方法 Download PDFInfo
- Publication number
- CN107632965B CN107632965B CN201710967772.6A CN201710967772A CN107632965B CN 107632965 B CN107632965 B CN 107632965B CN 201710967772 A CN201710967772 A CN 201710967772A CN 107632965 B CN107632965 B CN 107632965B
- Authority
- CN
- China
- Prior art keywords
- arithmetic element
- data
- arithmetic
- element group
- race
- 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
Links
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
- G06F17/153—Multidimensional correlation or convolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Abstract
本公开提供一种可重构的S形运算装置和方法,其中装置包括:运算部分,用于完成运算,包含多个运算单元组,多个所述运算单元组呈X行Y列的阵列式分布,运算单元组间以S形方向和/或逆S形方向传递数据,其中X和Y分别为正整数。通过采用S形和逆S形在运算单元中完成数据的传递,从而能够有效加速神经网络运算的同时,降低了权值的反复读取和部分和反复存取所带来的访存功耗。
Description
技术领域
本公开涉及计算机领域,进一步涉及人工智能领域。
背景技术
深度神经网络是目前许多人工智能应用的基础,其在语音识别、图像处理、数据分析、广告推荐系统、汽车自动驾驶等多方面得到了突破性的应用,使得深度神经网络被应用在了生活的各个方面。但是,深度神经网络的运算量巨大,一直制约着其更快速的发展和更广泛的应用。当考虑运用加速器设计来加速深度神经网络的运算时,巨大的运算量,必然会带了很大的能耗开销,同样制约着加速器的进一步的广泛应用。
现有常用的方法是使用通用处理器(CPU)。该方法通过使用通用寄存器堆和通用功能部件执行通用指令来支持神经网络算法。该方法的缺点之一是单个通用处理器的运算性能较低,无法满足神经网络运算的性能需求。而多个通用处理器并行执行时,通用处理器之间相互通信又成为了性能瓶颈。另一种已知方法是使用图形处理器(GPU)。该方法通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来支持上述算法。由于GPU是专门用来执行图形图像运算以及科学计算的设备,片上缓存较小,使得片外带宽成为了主要性能瓶颈,带来了巨大的功耗开销。
发明内容
(一)要解决的技术问题
有鉴于此,本公开的目的在于提供一种可重构的S形运算装置及运算方法,以解决以上所述的至少部分技术问题。
(二)技术方案
根据基本公开的一方面,提供一种可重构的S形运算装置,包括:
运算部分,用于完成运算,包含多个运算单元组,多个所述运算单元组呈X行Y列的阵列式分布,运算单元组间以S形方向和/或逆S形方向传递数据,其中X和Y分别为正整数。
进一步的,还包括:存储部分,用于保存数据,包含内部存储部分,内部存储部分位于运算部分内部,用于保存待运算数据。
进一步的,存储部分还包括外部存储部分,外部存储部分在运算部分的外部,用于保存输入数据、输出数据以及临时缓存。
进一步的,外部存储部分包括多个区域,分别用于保存输入数据、输出数据以及临时缓存。
进一步的,还包括:控制部分,用于对所述运算部分和存储部分进行控制,使两者能够相互协作,完成所需功能。
进一步的,每个所述运算单元组包括:多个所述运算单元,呈M行N列的阵列式分布,运算单元间以S形方向和/或逆S形方向传递数据,其中M和N分别为正整数。
进一步的,每个所述运算单元包括:两个或以上乘法器;两个或以上加法器;所述运算单元内设置有至少一内部存储部分,该内部存储部分与所述乘法器和/或加法器连接。
进一步的,每个运算单元组还用于单独传递数据给缓存部分,还用于在控制部分的控制下,选择不同的输出通路,以实现串行工作或并行工作。
进一步的,每个运算单元组还用于接收来自左/右侧运算单元组传递而来的数据,运算完毕后,将输出数据向右/左侧的运算单元组传递。最后一个运算单元组将最终结果经过缓存后,传入存储模块中进行保存。进一步的,每个运算单元中还包含两个选择器,用于跳过该运算单元中的乘法器和加法器。当该运算单元需要进行运算的时候,选择器选择加法器的结果作为运算单元的输出。当该运算单元无需进行运算的时候,选择器直接将输入数据输出。
进一步的,当卷积核的规模小于运算单元组中的运算单元数目时,多余的运算单元通过选择器直接将输入数据输出,无须进行乘加运算。
进一步的,所述多个运算单元组组合为运算族,组合后的运算单元总数大于卷积核的数目时,多余的运算单元即可通过选择器直接将输入数据输出,其他运算单元则将加法器的运算结果作为最终结果输出。
根据本公开的另一方面,提供一种运算方法,应用以上任一所述装置进行神经网络运算。
进一步的,所述神经网络运算包括进行卷积运算:
设定卷积核大于一个运算单元组中的运算单元个数的时候;
将多个运算单元组组合成为一个运算单元族,使得运算单元族内的运算单元组按照串行的运算方式进行数据传递和运算,运算单元族间按照并行的运算方式进行数据的传递和运算。
进一步的,运算单元族间按照并行的运算方式进行数据的传递和运算包括:
一个运算单元族内的每个运算单元组能够依照S形或逆S形的运算顺序完成数据的乘法运算和加法运算;
运算单元族中的数据依次传递给该族内和其相邻的另一个运算单元组进行运算,直到运算完毕;
利用该运算单元族内的最后一个运算单元组的输出路径将结果输出至缓存中。
进一步的,每个运算单元组还单独传递数据给缓存部分,还用于在控制部分的控制下,选择不同的输出通路,以实现串行工作或并行工作。
进一步的,每个运算单元组接收来自左/右侧运算单元组传递而来的数据,运算完毕后,将输出数据向右/左侧的运算单元组传递。最后一个运算单元组将最终结果经过缓存后,传入存储模块中进行保存。进一步的,每个运算单元中还包含两个选择器,用于跳过该运算单元中的乘法器和加法器。当该运算单元需要进行运算的时候,选择器选择加法器的结果作为运算单元的输出。当该运算单元无需进行运算的时候,选择器直接将输入数据输出。
进一步的,当卷积核的规模小于运算单元组中的运算单元数目时,多余的运算单元通过选择器直接将输入数据输出,无须进行乘加运算。
进一步的,所述多个运算单元组组合为运算族,组合后的运算单元总数大于卷积核的数目时,多余的运算单元即可通过选择器直接将输入数据输出,其他运算单元则将加法器的运算结果作为最终结果输出。
根据本公开的再一方面,提供一种电子装置,其包括上述的可重构的S形运算装置,其中电子装置包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
进一步的,所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶和/或油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
(三)有益效果
(1)本公开采用S形和逆S形在运算单元中完成数据的传递,同时结合神经网络“权值共享”的特性,从而能够有效加速神经网络运算的同时,降低了权值的反复读取和部分和反复存取所带来的访存功耗。
(2)本公开具有多个运算单元组,运算单元组可以支持并行计算,从而可以使各运算单元组读取并共享同一组神经元数据,同时计算多个输出特征图的数据,提高了神经元数据的利用率和运算效率。
(3)本公开可以将多个运算单元组进行组合,在控制部分的控制下调整运算数据和结果数据的传递方式。从而能够满足同一个运算网络中具有不同权值规模的情况,近一步扩大了运算部分的适用范围,提高了装置中运算单元的利用率,加快了神经网络的运算速度。
附图说明
图1是本公开一实施例的S形运算装置的示意图。
图2是本公开一实施例S形运算装置数据流动方向示意图。
图3是本公开另一实施例S形运算装置数据流动方向示意图。
图4是图1中运算单元组的示意图。
图5是图1中含一运算单元组的示意图。
图6为将三个运算单元组进行组合成为一个运算单元族的示意图。
图7为图1中一运算单元的示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开作进一步的详细说明。
本公开的主要结构如图1所示,其主要分为运算部分、存储部分。运算部分用于完成运算,包含多个运算单元组,每个运算单元组中包含多个运算单元和2个或以上算术逻辑单元(ALU)。存储部分用于保存数据,包括外部存储部分和内部存储部分,外部存储部分在运算单元外部,可以分为多个区域,分别用于保存输入数据、输出数据、临时缓存;内部存储部分位于运算部分内部,用于保存待运算数据。优选的情况还包括控制部分,用于对该装置的各个部分的控制,使其能够相互协作,完成所需功能。
运算部分包含X*Y个运算单元组,包括X*Y(X、Y均为任意正整数)个运算单元组,呈X行Y列的二维阵列形式排布,运算单元组间以S形方向或逆S形方向传递数据。每个运算单元组可以传递数据给缓存部分,在控制部分的控制下,选择不同的输出通路,从而运算单元组可以串行工作或并行工作。即,每个运算单元组可以串行工作,即接收来自左/右侧运算单元组传递而来的数据,运算完毕后,将输出数据向右/左侧的运算单元组传递。最后一个运算单元组将最终结果经过缓存后,传入存储模块中进行保存,其数据流动方向如图2所示。运算单元组之间也可以并行工作,即初始数据通过原s形路径传递至各运算单元组中,运算单元组共享运算数据,并进行运算。每个运算单元组将自己的运算结果直接传送到缓存中缓存并整理,待运算完毕后,缓存中的数据输出至存储模块中进行保存,其数据流动方向如图3所示。
如图4所示,每个运算单元组中包括M*N(M、N均为正整数,优选的M=N=3或M=N=5)个运算单元,呈M行N列的二维阵列形式排布,运算单元间以S形方向或逆S形方向传递数据。每个运算单元包括两个或以上乘法器(用“X1”“X2”等表示第一个乘法器、第二个乘法器等)和两个或以上加法器(用“+1”“+2”等表示第一个加法器、第二个加法器等),一个内部存储单元。每个运算单元中的乘法器每次从外界读取数据,和内部存储单元中的数据进行相乘,乘积送入加法器中。加法器将沿S形或逆S形传来的数据和乘法器的乘积相加,结果沿S形或逆S形传递到下一运算单元的加法器中。其中非奇数号(即第零个、第二个……)加法器接受S形方向传递来的数据进行加法运算,并将结果按照S形方向继续传递;奇数号(即第一个、第三个……)加法器接受来自逆S形传递来的数据,并将结果继续按逆S形传递。当运算到最后一个运算单元时,可以选择将运算结果沿逆S形传递回来继续运算,也可以传送到存储单元进行保存。
如图5所示,首先,我们这里用Wo,i,x,y表示一个权值数据,表示该数据对应第o个输出特征图,第i个输入特征图,为第x行第y列的位置。不妨假定运算单元个数为3*3,核大小为3*3。那么首先将第一个输出特征图和第二个输出特征图对应的第一组权值数据送入各运算单元的内部存储部分中,如图5所示。从存储部分取出待运算的神经元,并分别送入运算单元中进行相乘。而后将乘积送入加法器中,进行加法运算。如果待进行加法运算的数据,运算单元0的“+0”和运算单元8的“+1”可从存储单元直接获取该数据进行加法运算,也可以初始化为0,使乘积和0进行加法运算。而后,将运算单元的加法运算和按照规定的方向进行传递,如运算单元0的“+0”的加法运算结果按S形传递给运算单元1的“+0”的输入端,运算单元2的“+0”的加法运算结果按S形传递给运算单元3的“+0”的输入端;运算单元6的“+1”的加法运算结果按逆S形传递给运算单元5的“+1”的输入端,运算单元5的“+1”的加法运算结果按逆S形传递给运算单元4的“+1”的输入端。而后,数据处理模块送入第二组神经元数据到各运算单元中,运算单元中完成和权值相乘的操作,和之前传来的部分和进行加法运算,再依照给定方向继续传递,直到完成所有运算。运算单元0的“+1”的运算结果和运算单元8的“+0”的运算结果可直接写回到存储部分的规定位置。核的规模大于运算单元的个数,那么该结果可能为临时的部分和数据,保存在存储单元的临时存储部分,根据控制指令在更换新的权值数据后,将结果送入到运算单元0的“+0”和运算单元8的“+1”的输入端,继续完成加法运算。如果得到的是最终结果,且有激活操作,那么将结果输入到ALU中,进行激活操作,而后再写回到存储部分。否则直接写入存储部分进行保存。这样,可以充分利用卷积神经网络的共享权值的特性,避免了权值的反复读取带来的访存功耗。同时,读取同一组神经元数据同时计算两个输出特征图的数据,提高了神经元数据的利用率。另外,多个运算单元可以并行运算,从而大大加快了运算速度。
本运算装置可以在控制装置的控制下,对运算单元进行组合,形成一个运算单元族,从而能够适应同一个网络模型中不同层规模不同的情况。即卷积核大于一个运算单元组中的运算单元个数的时候,控制装置能够控制数据的传输方向,将多个运算单元组组合成为一个运算单元族,使得运算单元族内的运算单元组按照串行的运算方式进行数据传递和运算,运算单元族间按照并行的运算方式进行数据的传递和运算。即,一个运算单元族内的每个运算单元组能够依照原有的运算顺序(正s形或逆s形)完成数据的乘法运算和加法运算,而后运算单元族中的数据依次传递给该族内和其相邻的另一个运算单元组进行运算,直到运算完毕后,利用该运算单元族内的最后一个运算单元组的输出路径将结果输出至缓存中。
以ALEXNET网络为例,第一个卷积层核大小为11*11。第二个卷积层核大小为5*5,第三个卷积层的核大小为3*3,那么我们最初配置每个运算单元组中包含3*3个运算单元,即M=N=3,总共有15个运算单元组,即X=3,Y=5。在处理第三个卷积层(卷积核为3*3)时,每个运算单元组处理一个运算单元核,运算单元组间并行进行运算,即每个运算单元组将各自的运算结果输出至缓存中。在处理第二个卷积层(卷积核为5*5)时,每三个运算单元组组合为一个运算单元族,共分为5个运算单元族,在每个运算单元族内数据顺序传递,每个单元族间数据并行运算;在处理第一个卷积层(卷积核为11*11)时,即可以将所有运算单元顺序完成运算。通过控制部分来控制数据传递的方向,从而可以达到动态组合调整的目的,以满足同一网络具有不同规模的层的情况,提高了运算部件的利用率。如图图6中所示,即为将三个运算单元组进行组合成为一个运算单元族的示意图。原输入数据和中间结果按照s形依次传递个左/右侧的运算单元,而后,每个运算单元族作为一个基本单元得到运算结果输出到缓存中。待运算结果,将缓存中的数据输出到存储部分。
优选的,每个运算单元中还包含两个选择器,用于跳过该运算单元中的乘法器和加法器,如图7中所示。当该运算单元需要进行运算的时候,选择器选择加法器的结果作为运算单元的输出。当该运算单元无需进行运算的时候,选择器直接将输入数据输出。譬如,当卷积核的规模小于运算单元组中的运算单元数目时,多余的运算单元可以被直接跳过,即通过选择器直接将输入输出出来,无须进行乘加运算。又譬如,当多个运算单元组进行组合的时候,组合后的运算单元总数大于卷积核的数目时,多余的运算单元即可通过选择器直接将输入数据输出,其他运算单元则将加法器的运算结果作为最终结果输出。
具体而言,当M=N=3时,该运算单元组中有9个运算单元。当待处理的卷积核为2*2时,那么只需要使用4个运算单元,那么这4个运算单元将输入数据依次送入乘法器、加法器中进行运算,而后通过选择器将加法器的结果作为该运算单元的结果输出,另5个运算单元无需进行运算,那么利用选择器,直接将输入数据作为运算单元的结果输出即可。当待处理卷积核为5*5时,需要将3个运算单元组进行组合,成为一个大的运算单元组,那么,原卷积核只需要5*5=25个运算单元,而组成一个大的运算单元组后,三个运算单元组共有3*3*3=27个运算单元,于是会两个闲置的运算单元,这两个运算单元通过选择器直接将输入数据输出即可,无需经过乘法器、加法器进行运算。
在一些实施例里,公开了一种芯片,其包括了上述运算装置。
在一些实施例里,公开了一种芯片封装结构,其包括了上述芯片。
在一些实施例里,公开了一种板卡,其包括了上述芯片封装结构。
在一些实施例里,公开了一种电子装置,其包括了上述板卡。
电子装置包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶和/或油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
应该理解到,所揭露的相关装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
各功能单元/模块都可以是硬件,比如该硬件可以是电路,包括数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于物理器件,物理器件包括但不局限于晶体管,忆阻器等等。所述计算装置中的计算模块可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如RRAM,DRAM,SRAM,EDRAM,HBM,HMC等等。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (16)
1.一种应用于神经网络运算的可重构的S形运算装置,其特征在于,包括:
运算部分,用于完成运算,包含多个运算单元组,多个所述运算单元组呈X行Y列的阵列式分布,运算单元组间以S形方向和/或逆S形方向传递数据,且上一行的最后一个被传递数据的运算单元组向所在列的下一行的运算单元组传输数据,逆S形方向中,下一行的最后一个被传递数据的运算单元组向所在列的上一行的运算单元组传输数据,其中X和Y分别为正整数;
其中每个所述运算单元组包括:多个运算单元,呈M行N列的阵列式分布,运算单元间以S形方向和/或逆S形方向传递数据,其中M和N分别为正整数,且上一行的最后一个被传递数据的运算单元向所在列的下一行的运算单元传输数据,逆S形方向中,下一行的最后一个被传递数据的运算单元向所在列的上一行的运算单元传输数据;
多个所述运算单元组可组合成为一个运算单元族,使得运算单元族内的运算单元组按照串行的运算方式进行数据传递和运算,运算单元族间按照并行的运算方式进行数据的传递和运算。
2.根据权利要求1所述的装置,其特征在于,还包括:
存储部分,用于保存数据,包含内部存储部分,内部存储部分位于运算部分内部,用于保存待运算数据。
3.根据权利要求2所述的装置,其特征在于,所述存储部分还包括外部存储部分,外部存储部分在运算部分的外部,用于保存输入数据、输出数据以及临时缓存。
4.根据权利要求3所述的装置,其特征在于,所述外部存储部分包括多个区域,分别用于保存输入数据、输出数据以及临时缓存。
5.根据权利要求2所述的装置,其特征在于,还包括:
控制部分,用于对所述运算部分和存储部分进行控制,使两者能够相互协作,完成所需功能。
6.根据权利要求1所述的装置,其特征在于,每个所述运算单元包括:
两个或以上乘法器;
两个或以上加法器;
所述运算单元内设置有至少一内部存储部分,该内部存储部分与所述乘法器和/或加法器连接。
7.根据权利要求1所述的装置,其特征在于,每个运算单元组还用于单独传递数据给缓存部分,还用于在控制部分的控制下,选择不同的输出通路,以实现串行工作或并行工作。
8.根据权利要求1所述的装置,其特征在于,每个运算单元组还用于接收来自左/右侧运算单元组传递而来的数据,运算完毕后,将输出数据向右/左侧的运算单元组传递,最后一个运算单元组将最终结果经过缓存后,传入存储模块中进行保存。
9.根据权利要求1所述的装置,其特征在于,每个运算单元中还包含两个选择器,用于跳过该运算单元中的乘法器和加法器,当该运算单元需要进行运算的时候,选择器选择加法器的结果作为运算单元的输出,当该运算单元无需进行运算的时候,选择器直接将输入数据输出。
10.根据权利要求1所述的装置,其特征在于,当神经网络的卷积核的规模小于运算单元组中的运算单元数目时,多余的运算单元通过选择器直接将输入数据输出,无须进行乘加运算。
11.根据权利要求1所述的装置,其特征在于,所述多个运算单元组组合为运算族,组合后的运算单元总数大于神经网络的卷积核的数目时,多余的运算单元即可通过选择器直接将输入数据输出,其他运算单元则将加法器的运算结果作为最终结果输出。
12.一种运算方法,应用权利要求1-11任一所述装置进行神经网络运算。
13.根据权利要求12所述的运算方法,其特征在于,所述神经网络运算包括进行卷积运算:
设定卷积核大于一个运算单元组中的运算单元个数;将多个运算单元组组合成为一个运算单元族,使得运算单元族内的运算单元组按照串行的运算方式进行数据传递和运算,运算单元族间按照并行的运算方式进行数据的传递和运算。
14.根据权利要求13所述的运算方法,其特征在于,运算单元族间按照并行的运算方式进行数据的传递和运算包括:
一个运算单元族内的每个运算单元组能够依照S形或逆S形的运算顺序完成数据的乘法运算和加法运算;
运算单元族中的数据依次传递给该族内和其相邻的另一个运算单元组进行运算,直到运算完毕;
利用该运算单元族内的最后一个运算单元组的输出路径将结果输出至缓存中。
15.一种电子装置,其包括权利要求1-11任一所述的装置,其中电子装置包括机器人、打印机、扫描仪、平板电脑、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
16.根据权利要求15所述的电子装置,其特征在于,所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶和/或油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711452014.7A CN108170640B (zh) | 2017-10-17 | 2017-10-17 | 神经网络运算装置及应用其进行运算的方法 |
CN201710967772.6A CN107632965B (zh) | 2017-10-17 | 2017-10-17 | 可重构的s型运算装置及运算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710967772.6A CN107632965B (zh) | 2017-10-17 | 2017-10-17 | 可重构的s型运算装置及运算方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711452014.7A Division CN108170640B (zh) | 2017-10-17 | 2017-10-17 | 神经网络运算装置及应用其进行运算的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107632965A CN107632965A (zh) | 2018-01-26 |
CN107632965B true CN107632965B (zh) | 2019-11-29 |
Family
ID=61105558
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710967772.6A Active CN107632965B (zh) | 2017-10-17 | 2017-10-17 | 可重构的s型运算装置及运算方法 |
CN201711452014.7A Active CN108170640B (zh) | 2017-10-17 | 2017-10-17 | 神经网络运算装置及应用其进行运算的方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711452014.7A Active CN108170640B (zh) | 2017-10-17 | 2017-10-17 | 神经网络运算装置及应用其进行运算的方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN107632965B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764468A (zh) * | 2018-05-03 | 2018-11-06 | 中国科学院计算技术研究所 | 用于智能识别的人工神经网络处理器 |
CN111078623B (zh) * | 2018-10-18 | 2022-03-29 | 上海寒武纪信息科技有限公司 | 片上网络处理系统和片上网络数据处理方法 |
CN109583580B (zh) * | 2018-11-30 | 2021-08-03 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN110096308B (zh) * | 2019-04-24 | 2022-02-25 | 北京探境科技有限公司 | 一种并行存储运算装置及其方法 |
CN111290787B (zh) * | 2019-06-19 | 2022-11-08 | 锐迪科(重庆)微电子科技有限公司 | 运算装置及运算方法 |
CN111024108A (zh) * | 2019-12-20 | 2020-04-17 | 中国科学院计算技术研究所 | 智能路线规划展示装置 |
CN111832717B (zh) * | 2020-06-24 | 2021-09-28 | 上海西井信息科技有限公司 | 芯片及用于卷积计算的处理装置 |
CN114004343B (zh) * | 2021-12-31 | 2022-10-14 | 之江实验室 | 基于忆阻器脉冲耦合神经网络的最短路径获取方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402415A (zh) * | 2011-10-21 | 2012-04-04 | 清华大学 | 一种动态可重构阵列内数据缓存的装置及方法 |
US20160085721A1 (en) * | 2014-09-22 | 2016-03-24 | International Business Machines Corporation | Reconfigurable array processor for pattern matching |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102646262B (zh) * | 2012-02-28 | 2014-07-02 | 西安交通大学 | 一种可重构的视觉前处理器和视觉处理系统 |
CN103019656B (zh) * | 2012-12-04 | 2016-04-27 | 中国科学院半导体研究所 | 可动态重构的多级并行单指令多数据阵列处理系统 |
CN106951395B (zh) * | 2017-02-13 | 2018-08-17 | 上海客鹭信息技术有限公司 | 面向压缩卷积神经网络的并行卷积运算方法及装置 |
-
2017
- 2017-10-17 CN CN201710967772.6A patent/CN107632965B/zh active Active
- 2017-10-17 CN CN201711452014.7A patent/CN108170640B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402415A (zh) * | 2011-10-21 | 2012-04-04 | 清华大学 | 一种动态可重构阵列内数据缓存的装置及方法 |
US20160085721A1 (en) * | 2014-09-22 | 2016-03-24 | International Business Machines Corporation | Reconfigurable array processor for pattern matching |
Non-Patent Citations (3)
Title |
---|
DaDianNao: A Machine-Learning Supercomputer;Yunji Chen等;《2014 47th Annual IEEE/ACM International Symposium on Microarchitecture》;20141231;第609-622页 * |
可重构多流水计算系统研究;尹勇生;《中国优秀博硕士学位论文全文数据库(博士)-信息科技辑》;20060815(第08期);第I137-1页:摘要,正文第5.3小节 * |
尹勇生.可重构多流水计算系统研究.《中国优秀博硕士学位论文全文数据库(博士)-信息科技辑》.2006,(第08期),第I137-1页:摘要,正文第5.3小节. * |
Also Published As
Publication number | Publication date |
---|---|
CN107632965A (zh) | 2018-01-26 |
CN108170640A (zh) | 2018-06-15 |
CN108170640B (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107632965B (zh) | 可重构的s型运算装置及运算方法 | |
CN107315574B (zh) | 一种用于执行矩阵乘运算的装置和方法 | |
EP3786786B1 (en) | Processing device, processing method, chip, and electronic apparatus | |
US20200089535A1 (en) | Data sharing system and data sharing method therefor | |
CN108733348B (zh) | 融合向量乘法器和使用其进行运算的方法 | |
CN109993301B (zh) | 神经网络训练装置及相关产品 | |
CN109634905A (zh) | Slam运算装置和方法 | |
CN111047022B (zh) | 一种计算装置及相关产品 | |
CN109754062A (zh) | 卷积扩展指令的执行方法以及相关产品 | |
CN110163349B (zh) | 一种网络模型的计算方法及装置 | |
CN113918221A (zh) | 运算模块、流水优化方法及相关产品 | |
CN109389213A (zh) | 存储装置及方法、数据处理装置及方法、电子装置 | |
CN111047021B (zh) | 一种计算装置及相关产品 | |
CN108960415A (zh) | 处理装置和处理系统 | |
CN111368967A (zh) | 一种神经网络计算装置和方法 | |
CN111367567B (zh) | 一种神经网络计算装置和方法 | |
CN111368987B (zh) | 一种神经网络计算装置和方法 | |
CN115081600A (zh) | 执行Winograd卷积的变换单元、集成电路装置及板卡 | |
CN110472734A (zh) | 一种计算装置及相关产品 | |
CN111368990A (zh) | 一种神经网络计算装置和方法 | |
CN115438778A (zh) | 执行Winograd卷积的集成电路装置 | |
CN115438777A (zh) | 对神经元数据执行Winograd卷积正变换的装置 | |
CN115081602A (zh) | 执行Winograd卷积的计算装置、集成电路装置及板卡 | |
CN115079927A (zh) | 暂存卷积结果的缓存、计算装置、集成电路装置及板卡 | |
CN114692850A (zh) | 对神经元数据执行Winograd卷积正变换的装置与板卡 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |