CN111667051A - 适用边缘设备的神经网络加速器及神经网络加速计算方法 - Google Patents

适用边缘设备的神经网络加速器及神经网络加速计算方法 Download PDF

Info

Publication number
CN111667051A
CN111667051A CN202010462707.XA CN202010462707A CN111667051A CN 111667051 A CN111667051 A CN 111667051A CN 202010462707 A CN202010462707 A CN 202010462707A CN 111667051 A CN111667051 A CN 111667051A
Authority
CN
China
Prior art keywords
processing
network
pooling
feature map
convolution
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.)
Granted
Application number
CN202010462707.XA
Other languages
English (en)
Other versions
CN111667051B (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 Saifang Technology Co ltd
Original Assignee
Shanghai Saifang Technology 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 Saifang Technology Co ltd filed Critical Shanghai Saifang Technology Co ltd
Priority to CN202010462707.XA priority Critical patent/CN111667051B/zh
Publication of CN111667051A publication Critical patent/CN111667051A/zh
Application granted granted Critical
Publication of CN111667051B publication Critical patent/CN111667051B/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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • 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
    • 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)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了适用边缘设备的神经网络加速器及神经网络加速计算方法,涉及神经网络技术领域。本发明的网络加速器包括配置单元、数据缓冲单元、处理矩阵组件(PMs)、后处理单元、主控制器通过向配置单元的寄存器中写入不同类型网络层的特征参数,来控制不同网络层运算逻辑向处理矩阵硬件的映射,便能够实现对处理矩阵组件的复用,即使用一块硬件电路实现神经网络中不同类型网络层的运算加速,而无需额外的硬件资源;不同类型网络层包括标准卷积层和池化网络层。本发明提出的多复用加速器不仅保证了相同的功能实现,而且硬件资源消耗更少、硬件复用率更高、功耗更小,具有高并发、高复用特性的同时,具备了很强的结构扩展性。

Description

适用边缘设备的神经网络加速器及神经网络加速计算方法
技术领域
本发明属于神经网络技术领域,特别是涉及适用边缘设备的神经网络加速器以及适用边缘设备的神经网络加速计算方法。
背景技术
神经网络推断作为计算密集型应用,具有运算机制复杂、运算量庞大及计算延迟高的特征,由此,一些专用神经网络加速器被开发用于加速神经网络推断过程。目前存在的大多数神经网络加速器采用了直接映射的方式来完成运算加速,即将神经网络中各类型网络层的运算逻辑直接映射到特定的功能电路上,如用于加速标准卷积网络层的特定功能电路、用于加速池化网络层的特定功能电路、用于加速全连接网络层的功能电路等。
这种采用多种特定功能电路拼接的加速器结构虽然提高了神经网络的运算效率,但消耗的硬件资源更多,功耗更高。另一方面,边缘设备普遍具有可用电能受限的特征,因此,边缘设备上的神经网络推断需要一类功耗低、功能完善、运算效率有保障的加速器结构及加速操作方法。现有的相关技术包括专利号为:CN110322001A,名称为深度学习加速器及加快深度学习操作的方法的中国发明专利;本发明技术与之相比,本发明为一个完整的加速器架构,而比对文件为加速器的一部分,相当于本专利技术中的缓存模块+处理矩阵组件+累加单元,且解决的问题并不相同,本专利技术解决的是硬件资源使用,即复用一个硬件,完成多种网络层运算;而比对文件是通过添加缓存减少外部数据访问。
本发明要解决的技术问题是提出了一种适用于边缘设备的硬件资源使用少、硬件复用率高、功耗低、并发度高的多复用神经网络推断加速器以及利用该加速器实现的神经网络加速计算方法。
发明内容
本发明提供了适用边缘设备的神经网络加速器及神经网络加速计算方法,解决了以上问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明的适用边缘设备的神经网络加速器,包括:
配置单元:包含一个寄存器文件,用于配置不同类型网络层的计算;
存储器:为静态随机存取存储器(SRAM),主要用于接收输入特征图、权重系数、偏置数据等;
数据缓冲单元:用于根据处理矩阵的尺寸对运算所需的输入特征图与权重系数分别缓存,并由数据分发单元根据步长配置信息选择合适的缓存数据分发到处理矩阵组件(PMs)中;
处理矩阵组件(PMs):用于完成输入特征图与权重系数运算的主要功能单元,包含一个或多个独立运算的处理矩阵(PM),所述处理矩阵(PM)由大量的处理单元(PE)按照一定的拓扑互连构成,用于实现不同运算逻辑,所述处理单元(PE)内部包含乘法器、加法器、寄存器、比较器等基本运算电子器件,实现乘法、加法、比较运算,所述处理单元(PE)接收输入特征值与权重系数作为操作数进行计算;
后处理单元:包括输出缓冲器、累加器、标准化处理、激活、量化处理;所述累加器用于支持需要累加运算的网络层;
主控制器通过向配置单元的寄存器中写入不同类型网络层的特征参数,来控制不同网络层运算逻辑向处理矩阵硬件的映射,便能够实现对处理矩阵组件的复用,即使用一块硬件电路实现神经网络中不同类型网络层的运算加速,而无需额外的硬件资源;不同类型网络层包括标准卷积层和池化网络层。
进一步地,所述配置单元的寄存器包括两类:
一类为网络层类型属性配置,如标准卷积层,需要配置输入特征图通道数、输入特征图尺寸、输出特征图通道数、卷积核尺寸、卷积核移动步长、存储器中输入特征图起始地址、存储器中卷积核起始地址、存储器中偏置系数起始地址等;再如池化层,需要配置输入特征图通道数、输出特征图通道数、池化类型、池化滤波器尺寸、池化滤波器移动步长、存储器中输入特征图起始地址、存储器中输出特征图起始地址等;
另一类为神经网络运算的控制命令配置,如启动运算、互联接口中断等;加速器主控制器根据目标神经网络中包含的网络层数、网络类型、网络连接顺序,将网络配置参数写入到配置单元,实现逐层计算。
进一步地,所述乘法器与加法器用于支持标准卷积计算和平均值池化运算,比较器用于支持最大值池化运算。
适用边缘设备的神经网络加速器的神经网络加速计算方法,包括复用处理矩阵组件对标准卷积层运算加速操作方法,其包括如下步骤:
S01.加速器主控制器根据当前标准卷积层特征将输入特征图通道数、输入特征图尺寸、输出特征图通道数、卷积核尺寸、卷积核移动步长、存储器中输入特征图起始地址、存储器中卷积核起始地址、存储器中偏置系数起始地址等网络属性信息写入配置单元,并将网络类型标记寄存器设置为标准卷积,这一操作可以有效区分复用处理矩阵组件的网络类型;
S02.主控器根据片上存储器可用容量,判断标准卷积层输入特征图是否需要执行特征图分块操作,并将分块信息写入配置单元,以便后处理单元中的累加器对当前结果进行缓存累加,之后主控器将分块或全部数据写入片上存储器;
S03.数据缓冲单元从片上存储器中选择数据分别将输入特征图与卷积核数据缓存到特征图缓冲器及权重缓存器中,再由数据分发单元中的特征图分发器与权重分发器根据处理矩阵组件中处理矩阵数量、处理矩阵尺寸、卷积核尺寸、卷积核移动步长及填充数配置,从数据缓存单元中选择指定通道数量的输入特征图与卷积核,并分发到处理矩阵组件;
S04.处理矩阵组件中处理矩阵并行执行标准卷积运算,卷积运算主要占用处理单元中的乘法器与加法器,比较器等其他电子器件处于关闭状态;
S05.处理矩阵组件并行输出各处理矩阵的卷积结果到累加单元,累加单元根据配置单元中的输入特征图分块信息和输入通道数信息判断是否对当前卷积结果进行缓存,准备与下一分块或通道卷积结果累加,若是,则取出输出缓冲器中之前的累加和与当前分块或通道卷积结果累加,并重新写入输出缓冲器,等待下一次累加或直接输出,若否,则生成初始输出特征图;
S06.后处理单元中其他处理单元对初始输出特征图进一步处理后生成最终的输出特征图。
适用边缘设备的神经网络加速器的神经网络加速计算方法,包括复用处理矩阵组件对池化层运算加速操作方法,其包括如下步骤:
T01.加速器主控制器根据当前池化层特征将输入特征图通道数、输出特征图通道数、池化类型、池化滤波器尺寸、池化滤波器移动步长、存储器中输入特征图起始地址、存储器中输出特征图起始地址等属性信息写入配置单元,并将网络类型标记寄存器设置为池化,这一操作可以有效区分复用处理矩阵组件的网络类型;
T02.主控器根据片上存储器可用容量,判断是否需要对输入特征图进行分块,之后将特征图分块或全部特征图写入片上存储器,与标准卷积不同的是,池化运算属于二维运算,不同输入通道特征图的池化结果不相关,所以无需将分块信息写入配置单元;
T03.如前所述,池化运算中的二维滤波器是系数为1的单元滤波器,所以,数据缓冲单元只需从存储器中选择输入特征图数据,并缓存到特征图缓冲器中,再由数据分发单元中的特征图分发器根据处理矩阵组件中处理矩阵数量、处理矩阵尺寸、池化滤波器移动步长及填充数配置,从数据缓存单元为每一个处理矩阵分发一个输入特征图;
T04.处理矩阵组件中处理矩阵并行执行池化运算,池化运算根据池化层类型将占用处理单元中不同的运算器件,即平均值池化占用乘法器与加法器,最大值池化占用比较器,其他电子器件处于关闭状态;
T05.处理矩阵组件并行输出各处理矩阵的结果到后处理单元的缓冲器中,进行标准化、量化或激活后生成最终的输出特征图。
本发明相对于现有技术包括有以下有益效果:
1、在本发明中,处理矩阵组件包含一个或多个处理矩阵(PM),处理矩阵则由大量处理单元(PE)按照一定的拓扑互连构成,处理单元内部通常包含乘法器、加法器、寄存器、比较器等基本运算电子器件,可以实现乘法、加法、比较等运算;处理矩阵可以实现不同运算逻辑;通过向配置单元寄存器中写入不同类型网络层的特征参数来控制不同网络层运算逻辑向处理矩阵硬件的映射,便能够实现对处理矩阵组件的复用,即使用一块硬件电路实现神经网络中不同类型网络层的运算加速,而无需额外的硬件资源;相较于采用直接映射方式,一块特定功能专用电路实现一种类型网络的神经网络加速器,本发明提出的多复用加速器不仅保证了相同的功能实现,而且硬件资源消耗更少、硬件复用率更高、功耗更小。
2、处理矩阵组件中的任一处理矩阵(PM)独立运算,互不干扰,因此,通过增加处理矩阵的数量便可增加加速器的计算并行度,提高运算效率,而无需修改加速器整体架构;每个处理矩阵对输入特征图的数量及尺寸没有限制,即处理矩阵可以处理输入特征图数量及尺寸大于处理矩阵自身尺寸的网络层,这使得本发明提出的加速器具有高并发、高复用特性的同时,具备了很强的结构扩展性。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明具体实施例的适用边缘设备的神经网络加速器的内部结构图;
图2为本发明具体实施例的处理矩阵组件结构示意图;
图3为本发明具体实施例的单个处理矩阵结构示意图;
图4为本发明具体实施例的利用本神经网络加速器复用处理矩阵组件对标准卷积层运算加速操作方法的步骤图;
图5为本发明实施例的基于对标准卷积层运算加速操作方法进行的对标准卷积运算加速的处理矩阵内部结构图;
图6为本发明具体实施例的利用本神经网络加速器复用处理矩阵组件对池化层运算加速操作方法的步骤图;
图7为本发明的基于对池化层运算加速操作方法进行的对池化运算加速的处理矩阵内部结构图;
图8为3x3标准卷积运算的示意图;
图9为2x2最大值池化运算图;
图10为一个给定神经网络层的计算流程示意图;
图11为根据本发明一个实施例描述了一个网络层输入特征图数量大于处理矩阵尺寸的计算流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
标准卷积层是深度神经网络中最重要的一种网络层,对标准卷积运算的加速效果也是评价一个专用神经网络加速器性能的基本指标。标准卷积层运算是对输入特征图与卷积核的卷积运算。输入特征图通常为三维结构,即每幅输入特征图具有二维尺寸HxW,对于图像类型的输入特征图表示一幅由垂直方向H个像素,水平方向W个像素构成的图片。第三维为通道方向,即尺寸为HxW输入特征图的数量C,每幅输入特征图代表一个通道的输入信息。对三维输入特征图进行卷积,卷积核(或称为滤波器)也具有三维结构CxVxH,C表示输入特征图的通道数,VxW表示卷积核的二维尺寸,如1x1,3x3,5x5,且二维卷积核内的值不全相同,每个通道上的卷积核称为一个卷积核分量,且卷积核分量的二维尺寸通常小于特征图的二维尺寸;使用不同尺寸的卷积核对输入特征图进行卷积,能够得到不同粒度和不同类型的特征。标准卷积层的输出称为输出特征图,是输入特征图与卷积核的卷积结果,也是三维的,即每个输出通道中包含一个二维特征图。卷积核的数量与输出特征图的通道数匹配。所以,使用N个尺寸为CxVxH的卷积核对C个通道输入特征图进行标准卷积,将产生N个通道的输出特征图。当一个三维卷积核与一个多通道输入特征图进行卷积,包含两个过程:其一,每个通道上二维卷积核与输入特征图上落入卷积核尺寸范围内的特征点进行乘加运算,之后将全部通道乘加结果进行累加,得到输出特征图的一个特征点;其二,所有输入通道上的卷积核分量同步沿水平或垂直方向按照指定步长滑动一次,并重复过程一的操作步骤,得到输出特征图的第二个特征点,依次类推,最终将得到一个多通道输出特征图;如图8所示,描述了3x3标准卷积运算。
池化网络层是另一个应用广泛的典型网络层。池化层运算逻辑与标准卷积有相似之处,也通过一个尺寸可变的二维滤波器在输入特征图上沿水平或垂直方向按照指定步长滑动,但与二维卷积核不同,池化二维滤波器是系数全为1的单元滤波器,可对落入滤波器尺寸范围内的特征点进行运算,如求均值或最大值等,所以,常见的池化层类型包括最大值池化层与平均值池化层;如图9所示,为2x2最大值池化运算,从图中可以看到,池化滤波器计算一次后,按照指定步长S(图中S=2)向水平方向滑动一次,准备进行下一次运算。另一方面,标准卷积运算是三维的,而池化运算是二维的,即不同输入通道上特征图的池化计算结果之间不相关。正由于二者计算维度上的差异,导致了现有大多数神经网络加速器采用分别设计特定功能电路的方式,来实现对标准卷积层运算与池化层运算的加速。
从硬件实现角度,无论是上述介绍的标准卷积层与池化层,还是其他类型的网络层,都符合图10所示的神经网络层的一般计算流程,即包含大量乘累加单元(MAC)的处理矩阵组件接收来自存储器的输入特征图与权重系数,并对二者进行计算;之后对处理矩阵组件运算结果进行一系列后处理,如累加、正则化、激活函数、量化等,最后得到输出特征图。
对上述硬件处理流程,图1描述了本发明提出的神经网络加速器结构的一个实施例;配置单元包含一个寄存器文件,用于配置不同类型网络层的计算。配置寄存器可分为两类,一类为网络层类型属性配置,如标准卷积层,需要配置输入特征图通道数、输入特征图尺寸、输出特征图通道数、卷积核尺寸、卷积核移动步长、存储器中输入特征图起始地址、存储器中卷积核起始地址、存储器中偏置系数起始地址等;再如池化层,需要配置输入特征图通道数、输出特征图通道数、池化类型、池化滤波器尺寸、池化滤波器移动步长、存储器中输入特征图起始地址、存储器中输出特征图起始地址等;另一类为神经网络运算的控制命令配置,如启动运算、互联接口中断等。加速器主控制器根据目标神经网络中包含的网络层数、网络类型、网络连接顺序,将网络配置参数写入到配置单元,实现逐层计算。
图1实施例中的存储器通常为静态随机存取存储器(SRAM),主要用于接收输入特征图、权重系数、偏置数据等。
图1实施例中的数据缓冲单元根据处理矩阵的尺寸对运算所需的输入特征图与权重系数分别缓存,并由数据分发单元根据步长配置信息选择合适的缓存数据分发到处理矩阵组件中。
图1实施例中的处理矩阵组件(PMs)是完成输入特征图与权重系数运算的主要功能单元。处理矩阵组件通常由多个处理矩阵(PM)构成。
图2描述了上述实施例中处理矩阵组件的组成结构。对于一个神经网络层,处理矩阵组件中的处理矩阵并行计算,彼此独立运行,因此,处理矩阵组件中处理矩阵的数量越多,加速器并行度越高,运算效率越高。处理矩阵(PM)内部由大量的处理单元(PE)按照一定的拓扑结构连接而成,处理单元接收输入特征值与权重系数作为操作数进行计算。
图3描述了一些实施例中处理矩阵的内部组成结构。显然,处理矩阵的尺寸越大,即处理单元的数量越多,处理矩阵的并行度越大,运算效率越高。处理单元(PE)的内部结构取决于被选择复用处理矩阵的网络类型,选择标准卷积层与池化层复用处理矩阵组件进行运算加速,那么处理单元内部应该至少包含一个乘法器、一个加法器及一个比较器,其中,乘法器与加法器用于支持标准卷积计算和平均值池化运算,比较器用于支持最大值池化运算。不同类型网络层复用同一硬件进行运算的基础是运算特征相似,如满足或可转化为向量运算,那么就运算本身而言,不同类型网络层具有相同运算规则,区别仅在于运算算子不同,操作数不同。体现在本发明提出的加速器结构上,运算规则决定了处理矩阵(PM)的结构,不同算子的融合体现在处理单元(PE)的内部结构上。
图1实施例中的后处理单元包括输出缓冲器、累加器、标准化处理、激活、量化处理等,其中,累加器主要用于支持需要累加运算的网络层,如标准卷积层,特别是对输入特征图分块操作的支持。对于卷积神经网络(CNN)一类的网络,输入特征图的尺寸通常较大,如1920x1080,4K等,这导致中间层网络的数据量很大,所以很难将神经网络各网络层输入输出数据全部保存在片上存储器中。另一方面,处理矩阵组件的尺寸可能无法满足一些大尺度输入特征图的计算需求,也需要对大尺度输入特征图进行分块。为了解决这些矛盾,可以将输入特征图进行分块处理,分批进行卷积运算,并在累加器中对全部分块的累加和进行整合处理。图11根据一些实施例描述了网络层输入特征图数量大于处理矩阵尺寸的计算流程。
如图4所示,基于上述神经网络加速器,本实施例复用处理矩阵组件对标准卷积层运算加速操作方法,步骤包括:
S01.加速器主控制器根据当前标准卷积层特征将输入特征图通道数、输入特征图尺寸、输出特征图通道数、卷积核尺寸、卷积核移动步长、存储器中输入特征图起始地址、存储器中卷积核起始地址、存储器中偏置系数起始地址等网络属性信息写入配置单元,并将网络类型标记寄存器设置为标准卷积,这一操作可以有效区分复用处理矩阵组件的网络类型;
S02.主控器根据片上存储器可用容量,判断标准卷积层输入特征图是否需要执行特征图分块操作,并将分块信息写入配置单元,以便后处理单元中的累加器对当前结果进行缓存累加,之后主控器将分块或全部数据写入片上存储器;
S03.数据缓冲单元从片上存储器中选择数据分别将输入特征图与卷积核数据缓存到特征图缓冲器及权重缓存器中,再由数据分发单元中的特征图分发器与权重分发器根据处理矩阵组件中处理矩阵数量、处理矩阵尺寸、卷积核尺寸、卷积核移动步长及填充数配置,从数据缓存单元中选择指定通道数量的输入特征图与卷积核,并分发到处理矩阵组件,图8描述了本实施例标准卷积的处理矩阵结构;
S04.处理矩阵组件中处理矩阵并行执行标准卷积运算,卷积运算主要占用处理单元中的乘法器与加法器,比较器等其他电子器件处于关闭状态;
S05.处理矩阵组件并行输出各处理矩阵的卷积结果到累加单元,累加单元根据配置单元中的输入特征图分块信息和输入通道数信息判断是否对当前卷积结果进行缓存,准备与下一分块或通道卷积结果累加,若是,则取出输出缓冲器中之前的累加和与当前分块或通道卷积结果累加,并重新写入输出缓冲器,等待下一次累加或直接输出,若否,则生成初始输出特征图;
S06.后处理单元中其他处理单元对初始输出特征图进一步处理后生成最终的输出特征图。
从图8所示的3x3标准卷积运算可以看到,输入为C个通道的输入特征图,N个Cx3x3的卷积核对应N幅输出特征图,每个卷积核有C个3x3分量与C个输入通道的特征图匹配。卷积核对应的每一列最终生成一个输出特征图。而在水平方向上,图1中每一行输入通道特征图对应N个卷积核分量。因此,当处理矩阵组件中存在1个以上的处理矩阵时,图5中所示的单个处理矩阵的多通道输入特征图可与其他处理矩阵共享,这不仅表明上述加速器中处理矩阵的结构与标准卷积运算特征相匹配,而且提高了输入特征图的重用率。另一方面,假设处理矩阵每行由PW个处理单元构成,共PH行,则一个处理矩阵最大可以并行处理PW/3个3x3标准卷积运算,假设处理矩阵组件由K个处理矩阵构成,那么整个处理矩阵组件最多可以并行计算(PWxK)/3个3x3标准卷积运算,这极大的提高了本发明提出的神经网络加速器的计算效率。
如图6所示,基于上述神经网络加速器,本实施例复用处理矩阵组件对池化层运算加速操作方法,步骤包括:
T01、加速器主控制器根据当前池化层特征将输入特征图通道数、输出特征图通道数、池化类型、池化滤波器尺寸、池化滤波器移动步长、存储器中输入特征图起始地址、存储器中输出特征图起始地址等属性信息写入配置单元,并将网络类型标记寄存器设置为池化,这一操作可以有效区分复用处理矩阵组件的网络类型;
T02、主控器根据片上存储器可用容量,判断是否需要对输入特征图进行分块,之后将特征图分块或全部特征图写入片上存储器,与标准卷积不同的是,池化运算属于二维运算,不同输入通道特征图的池化结果不相关,所以无需将分块信息写入配置单元;
T03、如前所述,池化运算中的二维滤波器是系数为1的单元滤波器,所以,数据缓冲单元只需从存储器中选择输入特征图数据,并缓存到特征图缓冲器中,再由数据分发单元中的特征图分发器根据处理矩阵组件中处理矩阵数量、处理矩阵尺寸、池化滤波器移动步长及填充数配置,从数据缓存单元为每一个处理矩阵分发一个输入特征图,图9描述了本实施例池化的处理矩阵结构;
T04、处理矩阵组件中处理矩阵并行执行池化运算,池化运算根据池化层类型将占用处理单元中不同的运算器件,即平均值池化占用乘法器与加法器,最大值池化占用比较器,其他电子器件处于关闭状态;
T05、处理矩阵组件并行输出各处理矩阵的结果到后处理单元的缓冲器中,进行标准化、量化或激活后生成最终的输出特征图。
如前所述,池化层运算与标准卷积层运算能够在同一处理矩阵组件上实现加速是因为二者具有相似的运算规则。对比图8,图9可以发现,图8中每个输入通道上,特征图与该通道上K个卷积核分量的卷积运算与图9池化滤波器沿水平方向平移K次的最大值运算规则相似,区别仅在于卷积运算的算子为乘加,而池化运算为比较,操作数的区别在于池化滤波器为系数为1的单元滤波器,卷积核的系数不全相同。因此,在图6中,假设处理矩阵水平方向由PW个处理单元构成,垂直方向由PH个处理单元构成,则标准卷积是PH/3个输入通道特征图对应的3行特征点与PW/3个卷积核进行乘加运算;在图7中,假设处理矩阵尺寸同为PWxPH,则池化运算是1个输入通道特征图的PH/2行特征点与PW/2个单元滤波器进行比较运算。此外,一个处理矩阵能够并行处理一个输入特征图多个池化滤波器运算,当处理矩阵组件由多个处理矩阵构成,那么可以进一步增加计算并行度,提高计算效率。
关键技术点
(1)提出一种专用神经网络加速器,包含一个由多个处理矩阵构成的处理矩阵组件(PMs),每个处理矩阵(PM)内部由大量的处理单元(PE)构成,处理单元(PE)内部包含多种类型运算器件,如乘法器、加法器、寄存器、多路选择器等,可以支持不同类型的逻辑运算。通过将神经网络类型及属性特征写入到加速器配置单元中,可以实现处理矩阵组件的操作数选择、运算器件选择,完成不同类型网络层在同一个硬件上加速运算。
(2)基于上述专用神经网络加速器,提出对标准卷积网络层与池化网络层的硬件复用加速方法。
本发明相对于现有技术具有以下有益效果:
1、在本发明中,处理矩阵组件包含一个或多个处理矩阵(PM),处理矩阵则由大量处理单元(PE)按照一定的拓扑互连构成,处理单元内部通常包含乘法器、加法器、寄存器、比较器等基本运算电子器件,可以实现乘法、加法、比较等运算;处理矩阵可以实现不同运算逻辑;通过向配置单元寄存器中写入不同类型网络层的特征参数来控制不同网络层运算逻辑向处理矩阵硬件的映射,便能够实现对处理矩阵组件的复用,即使用一块硬件电路实现神经网络中不同类型网络层的运算加速,而无需额外的硬件资源;相较于采用直接映射方式,一块特定功能专用电路实现一种类型网络的神经网络加速器,本发明提出的多复用加速器不仅保证了相同的功能实现,而且硬件资源消耗更少、硬件复用率更高、功耗更小。
2、处理矩阵组件中的任一处理矩阵(PM)独立运算,互不干扰,因此,通过增加处理矩阵的数量便可增加加速器的计算并行度,提高运算效率,而无需修改加速器整体架构;每个处理矩阵对输入特征图的数量及尺寸没有限制,即处理矩阵可以处理输入特征图数量及尺寸大于处理矩阵自身尺寸的网络层,这使得本发明提出的加速器具有高并发、高复用特性的同时,具备了很强的结构扩展性。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (5)

1.适用边缘设备的神经网络加速器,其特征在于,包括:
配置单元:包含一个寄存器文件,用于配置不同类型网络层的计算;
存储器:为静态随机存取存储器(SRAM),主要用于接收输入特征图、权重系数、偏置数据等;
数据缓冲单元:用于根据处理矩阵的尺寸对运算所需的输入特征图与权重系数分别缓存,并由数据分发单元根据步长配置信息选择合适的缓存数据分发到处理矩阵组件(PMs)中;
处理矩阵组件(PMs):用于完成输入特征图与权重系数运算的主要功能单元,包含一个或多个独立运算的处理矩阵(PM),所述处理矩阵(PM)由大量的处理单元(PE)按照一定的拓拓扑互连构成,用于实现不同运算逻辑,所述处理单元(PE)内部包含乘法器、加法器、寄存器、比较器等基本运算电子器件,实现乘法、加法、比较运算,所述处理单元(PE)接收输入特征值与权重系数作为操作数进行计算;
后处理单元:包括输出缓冲器、累加器、标准化处理、激活、量化处理;所述累加器用于支持需要累加运算的网络层;
主控制器通过向配置单元的寄存器中写入不同类型网络层的特征参数,来控制不同网络层运算逻辑向处理矩阵硬件的映射,便能够实现对处理矩阵组件的复用,即使用一块硬件电路实现神经网络中不同类型网络层的运算加速,而无需额外的硬件资源;不同类型网络层包括标准卷积层和池化网络层。
2.根据权利要求1所述的适用边缘设备的神经网络加速器,其特征在于,所述配置单元的寄存器包括两类:
一类为网络层类型属性配置,如标准卷积层,需要配置输入特征图通道数、输入特征图尺寸、输出特征图通道数、卷积核尺寸、卷积核移动步长、存储器中输入特征图起始地址、存储器中卷积核起始地址、存储器中偏置系数起始地址等;再如池化层,需要配置输入特征图通道数、输出特征图通道数、池化类型、池化滤波器尺寸、池化滤波器移动步长、存储器中输入特征图起始地址、存储器中输出特征图起始地址等;
另一类为神经网络运算的控制命令配置,如启动运算、互联接口中断等;加速器主控制器根据目标神经网络中包含的网络层数、网络类型、网络连接顺序,将网络配置参数写入到配置单元,实现逐层计算。
3.根据权利要求1所述的适用边缘设备的神经网络加速器,其特征在于,所述乘法器与加法器用于支持标准卷积计算和平均值池化运算,比较器用于支持最大值池化运算。
4.如权利要求1-3任一项所述的适用边缘设备的神经网络加速器的神经网络加速计算方法,其特征在于,包括复用处理矩阵组件对标准卷积层运算加速操作方法,其包括如下步骤:
S01.加速器主控制器根据当前标准卷积层特征将输入特征图通道数、输入特征图尺寸、输出特征图通道数、卷积核尺寸、卷积核移动步长、存储器中输入特征图起始地址、存储器中卷积核起始地址、存储器中偏置系数起始地址等网络属性信息写入配置单元,并将网络类型标记寄存器设置为标准卷积,这一操作可以有效区分复用处理矩阵组件的网络类型;
S02.主控器根据片上存储器可用容量,判断标准卷积层输入特征图是否需要执行特征图分块操作,并将分块信息写入配置单元,以便后处理单元中的累加器对当前结果进行缓存累加,之后主控器将分块或全部数据写入片上存储器;
S03.数据缓冲单元从片上存储器中选择数据分别将输入特征图与卷积核数据缓存到特征图缓冲器及权重缓存器中,再由数据分发单元中的特征图分发器与权重分发器根据处理矩阵组件中处理矩阵数量、处理矩阵尺寸、卷积核尺寸、卷积核移动步长及填充数配置,从数据缓存单元中选择指定通道数量的输入特征图与卷积核,并分发到处理矩阵组件;
S04.处理矩阵组件中处理矩阵并行执行标准卷积运算,卷积运算主要占用处理单元中的乘法器与加法器,比较器等其他电子器件处于关闭状态;
S05.处理矩阵组件并行输出各处理矩阵的卷积结果到累加单元,累加单元根据配置单元中的输入特征图分块信息和输入通道数信息判断是否对当前卷积结果进行缓存,准备与下一分块或通道卷积结果累加,若是,则取出输出缓冲器中之前的累加和与当前分块或通道卷积结果累加,并重新写入输出缓冲器,等待下一次累加或直接输出,若否,则生成初始输出特征图;
S06.后处理单元中其他处理单元对初始输出特征图进一步处理后生成最终的输出特征图。
5.如权利要求1-3任一项所述的适用边缘设备的神经网络加速器的神经网络加速计算方法,其特征在于,包括复用处理矩阵组件对池化层运算加速操作方法,其包括如下步骤:
T01.加速器主控制器根据当前池化层特征将输入特征图通道数、输出特征图通道数、池化类型、池化滤波器尺寸、池化滤波器移动步长、存储器中输入特征图起始地址、存储器中输出特征图起始地址等属性信息写入配置单元,并将网络类型标记寄存器设置为池化,这一操作可以有效区分复用处理矩阵组件的网络类型;
T02.主控器根据片上存储器可用容量,判断是否需要对输入特征图进行分块,之后将特征图分块或全部特征图写入片上存储器,与标准卷积不同的是,池化运算属于二维运算,不同输入通道特征图的池化结果不相关,所以无需将分块信息写入配置单元;
T03.如前所述,池化运算中的二维滤波器是系数为1的单元滤波器,所以,数据缓冲单元只需从存储器中选择输入特征图数据,并缓存到特征图缓冲器中,再由数据分发单元中的特征图分发器根据处理矩阵组件中处理矩阵数量、处理矩阵尺寸、池化滤波器移动步长及填充数配置,从数据缓存单元为每一个处理矩阵分发一个输入特征图;
T04.处理矩阵组件中处理矩阵并行执行池化运算,池化运算根据池化层类型将占用处理单元中不同的运算器件,即平均值池化占用乘法器与加法器,最大值池化占用比较器,其他电子器件处于关闭状态;
T05.处理矩阵组件并行输出各处理矩阵的结果到后处理单元的缓冲器中,进行标准化、量化或激活后生成最终的输出特征图。
CN202010462707.XA 2020-05-27 2020-05-27 适用边缘设备的神经网络加速器及神经网络加速计算方法 Active CN111667051B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010462707.XA CN111667051B (zh) 2020-05-27 2020-05-27 适用边缘设备的神经网络加速器及神经网络加速计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010462707.XA CN111667051B (zh) 2020-05-27 2020-05-27 适用边缘设备的神经网络加速器及神经网络加速计算方法

Publications (2)

Publication Number Publication Date
CN111667051A true CN111667051A (zh) 2020-09-15
CN111667051B CN111667051B (zh) 2023-06-06

Family

ID=72384944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010462707.XA Active CN111667051B (zh) 2020-05-27 2020-05-27 适用边缘设备的神经网络加速器及神经网络加速计算方法

Country Status (1)

Country Link
CN (1) CN111667051B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931918A (zh) * 2020-09-24 2020-11-13 深圳佑驾创新科技有限公司 神经网络加速器
CN112418417A (zh) * 2020-09-24 2021-02-26 北京计算机技术及应用研究所 基于simd技术的卷积神经网络加速装置及方法
CN112906886A (zh) * 2021-02-08 2021-06-04 合肥工业大学 结果复用的可重构bnn硬件加速器及图像处理方法
CN112989269A (zh) * 2021-03-26 2021-06-18 上海西井信息科技有限公司 加速器及加速器片内计算模块
CN113159285A (zh) * 2021-04-14 2021-07-23 广州放芯科技有限公司 神经网络加速器
CN113159295A (zh) * 2021-04-27 2021-07-23 瀚博半导体(上海)有限公司 基于硬件加速器的张量处理方法和***
CN113537482A (zh) * 2021-09-14 2021-10-22 绍兴埃瓦科技有限公司 神经网络计算模块、方法和通信设备
CN113591025A (zh) * 2021-08-03 2021-11-02 深圳思谋信息科技有限公司 特征图的处理方法、装置、卷积神经网络加速器和介质
CN113592066A (zh) * 2021-07-08 2021-11-02 深圳市易成自动驾驶技术有限公司 硬件加速方法、装置、设备、计算机程序产品及存储介质
CN113692592A (zh) * 2021-07-08 2021-11-23 香港应用科技研究院有限公司 动态瓦片并行神经网络加速器
CN113791754A (zh) * 2021-09-10 2021-12-14 中科寒武纪科技股份有限公司 运算电路、芯片和板卡
CN113962361A (zh) * 2021-10-09 2022-01-21 西安交通大学 一种面向基于Winograd的CNN加速器***的数据无冲突调度方法
CN114239816A (zh) * 2021-12-09 2022-03-25 电子科技大学 一种卷积神经网络-图卷积神经网络可重构硬件加速架构
CN114723034A (zh) * 2022-06-10 2022-07-08 之江实验室 一种可分离的图像处理神经网络加速器及加速方法
CN115586885A (zh) * 2022-09-30 2023-01-10 晶铁半导体技术(广东)有限公司 一种存内计算单元和加速方法
WO2023010244A1 (zh) * 2021-08-02 2023-02-09 华为技术有限公司 神经网络加速器及神经网络加速器的数据处理方法
CN115906948A (zh) * 2023-03-09 2023-04-04 浙江芯昇电子技术有限公司 一种全连接层硬件加速装置及方法
CN116882467A (zh) * 2023-09-01 2023-10-13 中国科学院长春光学精密机械与物理研究所 面向边缘端的多模式可配置的神经网络加速器电路结构
CN117349585A (zh) * 2023-12-04 2024-01-05 北京麟卓信息科技有限公司 一种基于加速器约束的算子性能优化方法
CN117474062A (zh) * 2023-12-28 2024-01-30 深圳市九天睿芯科技有限公司 向量处理器、神经网络加速器、芯片及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180157969A1 (en) * 2016-12-05 2018-06-07 Beijing Deephi Technology Co., Ltd. Apparatus and Method for Achieving Accelerator of Sparse Convolutional Neural Network
US20180315158A1 (en) * 2017-04-28 2018-11-01 Intel Corporation Programmable coarse grained and sparse matrix compute hardware with advanced scheduling
CN109993297A (zh) * 2019-04-02 2019-07-09 南京吉相传感成像技术研究院有限公司 一种负载均衡的稀疏卷积神经网络加速器及其加速方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180157969A1 (en) * 2016-12-05 2018-06-07 Beijing Deephi Technology Co., Ltd. Apparatus and Method for Achieving Accelerator of Sparse Convolutional Neural Network
US20180315158A1 (en) * 2017-04-28 2018-11-01 Intel Corporation Programmable coarse grained and sparse matrix compute hardware with advanced scheduling
CN109993297A (zh) * 2019-04-02 2019-07-09 南京吉相传感成像技术研究院有限公司 一种负载均衡的稀疏卷积神经网络加速器及其加速方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
S.Y.KUNG等: "Wavefront阵列机―从概念到实现", 《计算机工程与科学》 *
肖皓等: "面向卷积神经网络的FPGA硬件加速器设计", 《工业控制计算机》 *

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931918A (zh) * 2020-09-24 2020-11-13 深圳佑驾创新科技有限公司 神经网络加速器
CN111931918B (zh) * 2020-09-24 2021-02-12 深圳佑驾创新科技有限公司 神经网络加速器
CN112418417A (zh) * 2020-09-24 2021-02-26 北京计算机技术及应用研究所 基于simd技术的卷积神经网络加速装置及方法
CN112418417B (zh) * 2020-09-24 2024-02-27 北京计算机技术及应用研究所 基于simd技术的卷积神经网络加速装置及方法
CN112906886A (zh) * 2021-02-08 2021-06-04 合肥工业大学 结果复用的可重构bnn硬件加速器及图像处理方法
CN112989269A (zh) * 2021-03-26 2021-06-18 上海西井信息科技有限公司 加速器及加速器片内计算模块
CN113159285A (zh) * 2021-04-14 2021-07-23 广州放芯科技有限公司 神经网络加速器
CN113159285B (zh) * 2021-04-14 2023-09-05 广州放芯科技有限公司 神经网络加速器
CN113159295A (zh) * 2021-04-27 2021-07-23 瀚博半导体(上海)有限公司 基于硬件加速器的张量处理方法和***
CN113159295B (zh) * 2021-04-27 2022-07-01 瀚博半导体(上海)有限公司 基于硬件加速器的张量处理方法和***
CN113592066A (zh) * 2021-07-08 2021-11-02 深圳市易成自动驾驶技术有限公司 硬件加速方法、装置、设备、计算机程序产品及存储介质
CN113692592A (zh) * 2021-07-08 2021-11-23 香港应用科技研究院有限公司 动态瓦片并行神经网络加速器
CN113592066B (zh) * 2021-07-08 2024-01-05 深圳市易成自动驾驶技术有限公司 硬件加速方法、装置、设备及存储介质
CN113692592B (zh) * 2021-07-08 2022-06-28 香港应用科技研究院有限公司 动态瓦片并行神经网络加速器
WO2023010244A1 (zh) * 2021-08-02 2023-02-09 华为技术有限公司 神经网络加速器及神经网络加速器的数据处理方法
CN113591025A (zh) * 2021-08-03 2021-11-02 深圳思谋信息科技有限公司 特征图的处理方法、装置、卷积神经网络加速器和介质
CN113791754A (zh) * 2021-09-10 2021-12-14 中科寒武纪科技股份有限公司 运算电路、芯片和板卡
CN113537482A (zh) * 2021-09-14 2021-10-22 绍兴埃瓦科技有限公司 神经网络计算模块、方法和通信设备
CN113537482B (zh) * 2021-09-14 2021-12-28 绍兴埃瓦科技有限公司 神经网络计算模块、方法和通信设备
CN113962361A (zh) * 2021-10-09 2022-01-21 西安交通大学 一种面向基于Winograd的CNN加速器***的数据无冲突调度方法
CN113962361B (zh) * 2021-10-09 2024-04-05 西安交通大学 一种面向基于Winograd的CNN加速器***的数据无冲突调度方法
CN114239816B (zh) * 2021-12-09 2023-04-07 电子科技大学 一种卷积神经网络-图卷积神经网络可重构硬件加速架构
CN114239816A (zh) * 2021-12-09 2022-03-25 电子科技大学 一种卷积神经网络-图卷积神经网络可重构硬件加速架构
CN114723034A (zh) * 2022-06-10 2022-07-08 之江实验室 一种可分离的图像处理神经网络加速器及加速方法
CN115586885A (zh) * 2022-09-30 2023-01-10 晶铁半导体技术(广东)有限公司 一种存内计算单元和加速方法
CN115586885B (zh) * 2022-09-30 2023-05-05 晶铁半导体技术(广东)有限公司 一种存内计算单元和加速方法
CN115906948A (zh) * 2023-03-09 2023-04-04 浙江芯昇电子技术有限公司 一种全连接层硬件加速装置及方法
CN116882467A (zh) * 2023-09-01 2023-10-13 中国科学院长春光学精密机械与物理研究所 面向边缘端的多模式可配置的神经网络加速器电路结构
CN116882467B (zh) * 2023-09-01 2023-11-21 中国科学院长春光学精密机械与物理研究所 面向边缘端的多模式可配置的神经网络加速器电路结构
CN117349585B (zh) * 2023-12-04 2024-02-23 北京麟卓信息科技有限公司 一种基于加速器约束的算子性能优化方法
CN117349585A (zh) * 2023-12-04 2024-01-05 北京麟卓信息科技有限公司 一种基于加速器约束的算子性能优化方法
CN117474062A (zh) * 2023-12-28 2024-01-30 深圳市九天睿芯科技有限公司 向量处理器、神经网络加速器、芯片及电子设备
CN117474062B (zh) * 2023-12-28 2024-06-04 深圳市九天睿芯科技有限公司 向量处理器、神经网络加速器、芯片及电子设备

Also Published As

Publication number Publication date
CN111667051B (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
CN111667051B (zh) 适用边缘设备的神经网络加速器及神经网络加速计算方法
CN111178519B (zh) 卷积神经网络加速引擎、卷积神经网络加速***及方法
CN110097174B (zh) 基于fpga和行输出优先的卷积神经网络实现方法、***及装置
CN111242289B (zh) 一种规模可扩展的卷积神经网络加速***与方法
CN109919311B (zh) 生成指令序列的方法、执行神经网络运算的方法和装置
CN109409512B (zh) 一种可灵活配置的神经网络计算单元、计算阵列及其构建方法
CN112163601B (zh) 图像分类方法、***、计算机设备及存储介质
CN114742225A (zh) 一种基于异构平台的神经网络推理加速方法
CN110580519B (zh) 一种卷积运算装置及其方法
CN115136115A (zh) 使用共享便笺式存储器的向量简化
CN113313243A (zh) 神经网络加速器的确定方法、装置、设备以及存储介质
CN111240746B (zh) 一种浮点数据反量化及量化的方法和设备
Li et al. Dynamic dataflow scheduling and computation mapping techniques for efficient depthwise separable convolution acceleration
CN111768458A (zh) 一种基于卷积神经网络的稀疏图像处理方法
US20210350230A1 (en) Data dividing method and processor for convolution operation
CN113792621A (zh) 一种基于fpga的目标检测加速器设计方法
Shahshahani et al. Memory optimization techniques for fpga based cnn implementations
JP2022137247A (ja) 複数の入力データセットのための処理
CN109902821B (zh) 一种数据处理方法、装置及相关组件
CN114519425A (zh) 一种规模可扩展的卷积神经网络加速***
CN114004351A (zh) 一种卷积神经网络硬件加速平台
CN114003201A (zh) 矩阵变换方法、装置及卷积神经网络加速器
CN111667052A (zh) 专用神经网络加速器的标准与非标准卷积一致性变换方法
CN115935888A (zh) 一种神经网络加速***
CN112732638B (zh) 基于ctpn网络的异构加速***及方法

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