CN111475461A - 面向ai应用的片上网络映射方法 - Google Patents

面向ai应用的片上网络映射方法 Download PDF

Info

Publication number
CN111475461A
CN111475461A CN202010262096.4A CN202010262096A CN111475461A CN 111475461 A CN111475461 A CN 111475461A CN 202010262096 A CN202010262096 A CN 202010262096A CN 111475461 A CN111475461 A CN 111475461A
Authority
CN
China
Prior art keywords
convolution
chip
network
window
application
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
CN202010262096.4A
Other languages
English (en)
Other versions
CN111475461B (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202010262096.4A priority Critical patent/CN111475461B/zh
Publication of CN111475461A publication Critical patent/CN111475461A/zh
Application granted granted Critical
Publication of CN111475461B publication Critical patent/CN111475461B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • 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)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种面向AI应用的片上网络映射方法,主要解决现有技术资源利用和运算速率低的问题。其方案是:获取芯片内物理网络信息及片上网络搭载的神经网络应用处理信息;根据物理网络及应用信息对片上网络内的计算单元进行映射;片上网络将卷积权值发送到乘法单元;计算当前卷积窗口对应的卷积结果;判断是否完成神经网络应用中所有卷积层的计算;判断是否完成当前卷积层的所有卷积计算;判断是否完成当前卷积窗口对应的所有卷积计算;判断片上网络外的第四个加法器是否完成累加运算,结束映射。本发明提升了处理资源利用率,减少了从片外存储提取数据次数,提高了神经网络应用的运算效率,可用于面向人工智能AI应用片上的资源处理。

Description

面向AI应用的片上网络映射方法
技术领域
本发明属于通信技术领域,更进一步涉及片上网络映射方法,可以用于面向人工智能AI应用片上的资源处理。
背景技术
目前,人工智能应用成为了各领域的研究热点之一。随着研究的不断深入,研究人员开始将AI应用到各个领域中。神经网络算法模型作为AI应用的底层模型,对AI应用的性能具有至关重要的影响。为了更好地应用AI技术,如何实现高性能的神经网络芯片成为了研究的关键。神经网络通常涉及训练和推断过程。训练过程是指在已有数据中学习,获得某些能力的过程;推断过程则是指对新的数据,使用训练获得的这些能力完成特定任务(比如分类和识别等)。对神经网络而言,训练过程是通过学习已有数据,更新网络参数,使推断误差减小,最终获得最佳推断效果的过程;推断过程则是通过使用训练过程得到的网络参数,对输入的数据进行相应的计算,得到计算结果并进行评估(如归类和标记等)的正向计算过程。
训练和推断过程中有很多类似的基本逻辑运算操作,这使得面向神经网络应用芯片内计算单元与存储器之间的数据交互非常频繁。而现有的面向神经网络应用芯片大多采用传统的冯·诺伊曼体系结构。在传统冯·诺伊曼体系结构中,计算单元在进行计算操作前从外部的存储器提取数据,在计算完成后将计算结果写回存储器。在AI应用硬件实现方案中,基于冯·诺伊曼体系结构的芯片提供运算能力相对是比较简单易行的,但由于运算部件和存储部件存在处理速度差异,当运算能力达到一定程度,由于访问存储器的速度无法跟上运算部件处理数据的速度,基于冯·诺伊曼体系结构的芯片无法充分利用新增加的运算部件,无法通过增加运算部件的方式提高整体性能,即形成所谓的冯·诺伊曼“瓶颈”或“内存墙”问题。
提高面向神经网络应用的芯片性能的关键之一在于实现高效的数据访问结构。基于片上网络的神经网络加速系统就是实现高效的数据访问结构中的一种。片上网络将网络技术引入芯片设计中,提高了芯片的通信带宽,实现了数据传输的并行性。将神经网络应用的处理需求映射到片上网络架构搭载的IP核上,可通过数据重用的方式减少访问片外存储器的次数,与传统的冯·诺伊曼体系结构相比,提高了数据访问网络的整体带宽,实现了数据传输的并行性,并在缓解系统访存压力的同时提高了计算单元的工作并行性,加快了系统的处理速度,可有效解决基于冯·诺伊曼体系结构的面向神经网络应用芯片存在的“内存墙”问题。因此,基于片上网络的神经网络应用芯片成为了神经网络加速的研究方向之一。
目前,基于片上网络结构的神经网络应用芯片实现方式有两大类。第一种是将神经网络的结构一一映射到片上网络搭载的IP核上,即在芯片上实现大量神经元模块并依据连接关系,通过片上网络架构将这些神经元模块进行互连。但由于近年来神经网络算法模型的规模逐渐增加,深层神经网络的性能表现也更为优异,使得传统的神经元间通过数据总线直接互连的方式无法满足剧增的神经网络算法模型需求,导致这种将神经元一一映射到硬件系统的方式难以实施,同时难以适配多种神经网络算法。第二种是将神经网络算法模型的计算需求进行数学归纳整理,并将得到的计算关系映射到片上网络搭载的IP核上。这种实现方式将神经网络模型进行了抽象归类,具有较好的算法适用性和系统可扩展性。但随着神经网络算法模型的规模不断提升,神经网络应用处理过程所需的参数也越来越多,系统处理过程中需要反复从片外存储器中读取计算参数,使得处理系统的访存压力较大。同时由于神经网络应用的处理过程具有较强的规律性,使用现有的计算需求映射策略的神经网络应用芯片存在数据传输使用信道单一的情况,使得片上网络架构的部分传输信道一直处于闲置状态,导致片上网络架构中部分通信资源不能充分利用。
发明内容
本发明的目的在于克服上述现有技术的不足,提出一种面向AI应用的片上网络映射方法,以有效减少处理单元从片外存储器中读取数据的需求,充分利用片上网络架构中的传输信道,提升系统中通信与处理资源的利用率,提高神经网络应用的运算速率。
本发明的技术思路是:通过采用基于片上网络体系结构的芯片,满足面向AI应用芯片的处理需求;通过采用在计算单元中权值固定不变的方法,满足面向AI应用芯片进行卷积运算的数据读取需求;通过采用乘法单元与加法单元分离的模块布局,解决卷积运算中乘法单元与加法单元协同工作的需求;通过采用不同数据流向间流水线化工作模式,满足AI应用的数据流向特性并实现计算单元并行处理需求。
根据上述思路,本发明的实现步骤如下:
一种面向AI应用的片上网络映射方法,其特征在于,所述片上网络采用基于虚信道路由器结构的2D mesh片上网络,该片上网络中每个本地节点上连接一个乘法单元,且该片上网络通过其外部接口与片上网络外的四个加法器和存储读写模块相连,所述映射实现如下:
(1)获取映射的片上网络中本地节点的地址(xl,yl)与片上网络的规模m*n,其中xl代表本地节点在片上网络的x轴坐标值,yl代表本地节点在片上网络的y轴坐标值;m和n分别代表片上网络的x轴和y轴上的最大节点个数;
(2)获取片上网络搭载的神经网络应用中卷积层的卷积窗口规模k*k、输入图像规模M*N以及卷积窗口的滑动步长A,其中,k代表卷积窗口的边长,M代表输入图像的长度,N代表输入图像的宽度;
(3)依据获取到的神经网络卷积层的信息与片上网络信息,对片上网络进行区域划分,以实现将神经网络的卷积层处理需求映射到片上网络搭载的IP核,按照可有效映射卷积窗口个数S在片上网络上划分出数量为S、规模为k*k的不重叠区域,每个划分出的区域满足神经网络的一个卷积窗口处理需求;
(4)通过存储读写模块读取当前卷积窗口计算所需的卷积权值,并将当前卷积层的第Z号卷积权值通过片上网络发送到各个划分区域的第Z号本地节点下的乘法单元,该乘法单元将接收到的卷积权值存入寄存器中,其中,Z代表卷积权值在卷积窗口中的编号;
(5)计算当前卷积窗口对应的卷积结果,并将此卷积结果通过存储读写模块存到片上网络外的存储器中;
(6)判断是否完成神经网络应用中所有卷积层的计算结果:
若是,则执行(10);否则,执行(7);
(7)判断是否完成当前卷积层的所有卷积计算:
若是,则返回(2)并获取下一卷积层参数;否则,则执行(8);
(8)判断是否完成当前卷积窗口对应的所有卷积结果的计算:
若是,则返回(4)并读取下一卷积窗口的卷积权值;否则,执行(9);
(9)判断片上网络外的第四个加法器是否完成累加运算:
若是,则执行(5),将卷积窗口滑动步长并传输行输入图像;
若不是,则等待片上网络外的所有加法器完成累加运算;
(10)结束本次面向AI应用的片上网络映射。
本发明与现有技术相比具有以下优点:
第一,由于本发明采用基于片上网络体系结构的芯片,在节点映射过程中,考虑到处理单元与存储器之间的通信情况,克服了现有基于传统冯·诺伊曼体系结构的芯片中处理单元与存储器之间通信资源未充分利用的问题,提高了通信资源利用率。
第二,由于本发明采用权值固定的卷积计算方法,在节点映射过程中,考虑到卷积计算过程的数据重用性特点,减少了从片外存储器中读取数据的需求,进一步提高了通信资源利用率和数据处理效率。
第三,由于本发明采用四次卷积计算并行处理的计算方式,在节点映射过程中,考虑到神经网络应用卷积层的计算需求,克服了现有技术中仅单线处理卷积计算的缺点,提高神经网络应用的运算速率。
附图说明
图1为本发明的实施流程图;
图2为本发明中的映射布局图;
图3为本发明中的工作时序图。
具体实施方式
下面结合附图对本发明实施示例做进一步的详细描述。
本实例所面向AI应用的片上网络是采用基于虚信道路由器结构的2D mesh片上网络,片上网络中每个本地节点上连接一个乘法单元,且该片上网络通过其外部接口与存储读写模块相连,该片上网络通过东、西、南、北四个方向的外部接口各与一个加法器相连。
参照图1,本发明的给出如下两个实施例。
实施例1:
步骤1,获取芯片内物理网络信息。
获取映射的片上网络中本地节点的地址(xl,yl)与片上网络的规模m*n,其中xl代表本地节点在片上网络的x轴坐标值,yl代表本地节点在片上网络的y轴坐标值;m和n分别代表片上网络的x轴和y轴上的最大节点个数,本实例片上网络规模m*n为4*4,本地节点的x轴坐标值xl的取值范围为0、1、2、3,本地节点的y轴坐标值yl的取值范围0、1、2、3,片上网络的x轴和y轴上的最大节点个数均为4。
步骤2,获取片上网络搭载的神经网络应用处理信息。
由于神经网络应用的数据处理需求很大,而现有的基于数据总线的系统访存带宽低,难以满足处理神经网络应用过程中的通信需求,同时片上网络具有提高了系统的通信带宽、实现数据传输的并行化的优点,使得利用片上网络架构搭载神经网络应用可缓解系统的访存压力,同时提高计算单元的工作并行性,加快神经网络的处理速度,可有效地解决现有的基于数据总线的系统在处理神经网络应用的瓶颈。获取搭载的神经网络应用中卷积层的卷积窗口规模k*k、输入图像规模M*N以及卷积窗口的滑动步长A,本实例搭载的神经网络应用的卷积窗口大小k*k为3*3,输入图像大小M*N为6*6,每次卷积窗口的滑动步长A为1。
步骤3,对片上网络节点搭载的IP核进行映射。
(3.1)依据获取到的神经网络卷积层的信息与片上网络信息,代入公式计算可有效映射的卷积窗口个数S:
Figure BDA0002439773400000051
可得有效映射的卷积窗口个数S为1;
(3.2)由于同一卷积窗口的同层输入图像数据处理的过程中,前一次卷积计算与后一次卷积计算间的卷积窗口值不变,仅对应的输入图像改变,两次相邻的卷积计算的区别为卷积窗口在输入图像上发生向右滑动步长A的滑动,因此,需要在片上网络上划分出与卷积窗口大小一致的区域,映射当前卷积窗口的处理需求。依据上述计算结果对片上网络进行区域划分,在x轴和y轴方向等间距的划分出与卷积窗口大小k*k相等的S个正方形区域,如图2(a)所示,其中,片上网络节点(0,0)、(1,0)、(2,0)、(0,1)、(1,1)、(2,1)、(0,2)、(1,2)、(2,2)共9个节点及搭载的IP核组成划分区域1,每个划分出的区域满足神经网络的卷积窗口处理需求;
(3.3)对图2(a)中卷积窗口内的卷积权值及片上网络的划分区域内的计算单元,进行从左到右、从上到下,依据次序从1至9进行编号,并按编号数字将图2(a)中卷积窗口内卷积权值,一一映射到每个划分区域中的对应编号计算单元,映射完成的模块布局图如图2(c)所示,其中,片上网络上划分区域的节点满足神经网络的卷积窗口中不同卷积权值的处理需求。
步骤4,将卷积权值发送到乘法单元。
片上网络通过存储提取模块读取当前卷积窗口计算所需的第1到9号卷积权值,如图2(c)所示,通过片上网络与存储提取模块相连的外部接口,将当前卷积窗口的卷积权值,发送到片上网络中,并依据划分区域内的计算单元的编号,发送到划分区域中与卷积权值编号一致的乘法器单元中,乘法单元将接收到的编号一致的卷积权值存入乘法器单元的寄存器中。
步骤5,计算当前卷积窗口对应的卷积结果。
参照图3,本步骤的具体实现如下:
(5.1)从存储读写模块中同时读取四行卷积窗口对应的输入图像,记为第一行、第二行、第三行和第四行输入图像,如图3所示,并按第一行、第二行、第三行和第四行输入图像的顺序分别通过片上网络东、西、南、北四个方向的外部接口注入到片上网络,按照卷积窗口中卷积权值的对应编号,传输到每个划分区域的编号相同的乘法器;
(5.2)乘法器在接收到输入图像后,从寄存器中读取卷积权值,并按照第一行、第二行、第三行、第四行的顺序,将卷积权值与接收到的输入图像进行乘法运算,每一次乘法运算完成后,开始下一行输入图像与卷积权值的乘法计算,乘法器的工作顺序是按照第一行、第二行、第三行、第四行输入图像的顺序,依次与卷积权值进行乘法运算,乘法器的工作时间是每完成一次乘法运算,则立即开始下一次输入图像的乘法运算;
(5.3)乘法单元每次完成卷积权值与输入图像的乘积计算后,将计算结果分别按照第一行、第二行、第三行、第四行的顺序,通过片上网络东、西、南、北四个方向的外部接口发送到该外部接口连接的加法器;
(5.4)加法器接收到同一划分区域中所有计算单元的乘法结果后,将这些结果进行累加运算得到卷积结果,并将累加得到的卷积结果存入存储器中。
步骤6,判断是否完成神经网络应用中所有卷积层的计算结果。
若神经网络应用中所有卷积层的计算结果已完成,则执行步骤10;
否则,执行步骤7。
步骤7,判断是否完成当前卷积层的所有卷积计算。
若当前卷积层的所有卷积计算已完成,则返回步骤2并获取下一卷积层参数;
否则,则执行步骤8。
步骤8,判断是否完成当前卷积窗口对应的所有卷积结果的计算。
若当前卷积窗口对应的所有卷积计算已完成,则返回步骤4,并读取下一卷积窗口的卷积权值;
否则,执行步骤9。
步骤9,判断片上网络外的第四个加法器是否完成累加运算。
若片上网络外的第四个加法器已完成累加运算,则执行步骤5,将卷积窗口滑动步长A,并重新传输四行输入图像;
若未完成累加运算,则等待片上网络外的所有加法器完成累加运算。
步骤10,结束本次面向AI应用的片上网络映射。
实施例2
步骤一,获取芯片内物理网络信息。
获取映射的片上网络中本地节点的地址(xl,yl)与片上网络的规模m*n,其中xl代表本地节点在片上网络的x轴坐标值,yl代表本地节点在片上网络的y轴坐标值;m和n分别代表片上网络的x轴和y轴上的最大节点个数,本实例片上网络规模m*n为8*8,本地节点的x轴坐标值xl的取值范围为0、1、2、3、4、5、6、7,本地节点的y轴坐标值yl的取值范围为0、1、2、3、4、5、6、7,片上网络的x轴和y轴上的最大节点个数均为8。
步骤二,获取片上网络搭载的神经网络应用处理信息。
由于神经网络应用的数据处理需求很大,而现有的基于数据总线的系统访存带宽低,难以满足处理神经网络应用过程中的通信需求,同时片上网络具有提高了系统的通信带宽、实现数据传输的并行化的优点,使得利用片上网络架构搭载神经网络应用可缓解系统的访存压力,同时提高计算单元的工作并行性,加快神经网络的处理速度,可有效地解决现有的基于数据总线的系统在处理神经网络应用的瓶颈。获取搭载的神经网络应用中卷积层的卷积窗口规模k*k、输入图像规模M*N以及卷积窗口的滑动步长A,本实例搭载的神经网络应用的卷积窗口大小k*k为3*3,输入图像大小M*N为6*6,每次卷积窗口的滑动步长A为1。
步骤三,对片上网络节点搭载的IP核进行映射。
3.1)依据获取到的神经网络卷积层的信息与片上网络信息,代入公式计算可有效映射的卷积窗口个数S:
Figure BDA0002439773400000081
可得有效映射的卷积窗口个数S为4;
3.2)由于同一卷积窗口的同层输入图像数据处理的过程中,前一次卷积计算与后一次卷积计算间的卷积窗口值不变,仅对应的输入图像改变,两次相邻的卷积计算的区别为卷积窗口在输入图像上发生向右滑动步长A的滑动,因此,需要在片上网络上划分出与卷积窗口大小一致的区域,映射当前卷积窗口的处理需求。依据上述计算结果对片上网络进行区域划分,在x轴和y轴方向等间距的划分出与卷积窗口大小k*k相等的S个正方形区域,如图2(b)所示,其中,片上网络节点(0,0)、(1,0)、(2,0)、(0,1)、(1,1)、(2,1)、(0,2)、(1,2)、(2,2)共9个节点及搭载的IP核组成划分区域1,节点(3,0)、(4,0)、(5,0)、(3,1)、(4,1)、(5,1)、(3,2)、(4,2)、(5,2)共9个节点及搭载的IP核组成划分区域2,节点(0,3)、(1,3)、(2,3)、(0,4)、(1,4)、(2,4)、(0,5)、(1,5)、(2,5)共9个节点及搭载的IP核组成划分区域3,节点(3,3)、(4,3)、(5,3)、(3,4)、(4,4)、(5,4)、(3,5)、(4,5)、(5,5)共9个节点及搭载的IP核组成划分区域4,每个划分出的区域满足神经网络的一个卷积窗口处理需求;
3.3)对图2(b)中卷积窗口内的卷积权值及片上网络的划分区域内的计算单元,进行从左到右、从上到下,依据次序从1至9进行编号,并按编号数字将图2(b)中卷积窗口内卷积权值,一一映射到每个划分区域中的对应编号计算单元,映射完成的模块布局图如图2(c)所示,其中,片上网络上划分区域的节点满足神经网络的卷积窗口中不同卷积权值的处理需求。
步骤四,将卷积权值发送到乘法单元。
片上网络通过存储提取模块读取当前卷积窗口计算所需的第1到9号卷积权值,如图2(c)所示,通过片上网络与存储提取模块相连的外部接口,将当前卷积窗口的卷积权值,发送到片上网络中,并依据划分区域内的计算单元的编号,发送到划分区域中与卷积权值编号一致的乘法器单元中,乘法单元将接收到的编号一致的卷积权值存入乘法器单元的寄存器中。
步骤五,计算当前卷积窗口对应的卷积结果。
本步骤的具体实现与实施例1的步骤5相同。
步骤六,判断是否完成神经网络应用中所有卷积层的计算结果:若是,则执行步骤十;否则,执行步骤七。
步骤七,判断是否完成当前卷积层的所有卷积计算:若是,则返回步骤二并获取下一卷积层参数;否则,则执行步骤八。
步骤八,判断是否完成当前卷积窗口对应的所有卷积结果的计算:若是,则返回步骤四并读取下一卷积窗口的卷积权值;否则,执行步骤九。
步骤九,判断片上网络外的第四个加法器是否完成累加运算:若是,则返回步骤五,将卷积窗口滑动步长A并重新传输四行输入图像;若不是,则等待片上网络外的所有加法器完成累加运算。
步骤十,结束本次面向AI应用的片上网络映射。
以上描述仅是对本发明的两个优选实施方式,并不构成对本发明的任何限制,显然,本领域的技术人员均可在本发明的主要技术构思基础上作出任意的公知变形,但这些都属于本发明所要保护的技术范畴。

Claims (3)

1.一种面向AI应用的片上网络映射方法,其特征在于,所述片上网络采用基于虚信道路由器结构的2D mesh片上网络,该片上网络中每个本地节点上连接一个乘法单元,且该片上网络通过其外部接口与片上网络外的四个加法器和存储读写模块相连,所述映射实现如下:
(1)获取映射的片上网络中本地节点的地址(xl,yl)与片上网络的规模m*n,其中xl代表本地节点在片上网络的x轴坐标值,yl代表本地节点在片上网络的y轴坐标值;m和n分别代表片上网络的x轴和y轴上的最大节点个数;
(2)获取片上网络搭载的神经网络应用中卷积层的卷积窗口规模k*k、输入图像规模M*N以及卷积窗口的滑动步长A,其中,k代表卷积窗口的边长,M代表输入图像的长度,N代表输入图像的宽度;
(3)依据获取到的神经网络卷积层的信息与片上网络信息,对片上网络进行区域划分,以实现将神经网络的卷积层处理需求映射到片上网络搭载的IP核,按照可有效映射卷积窗口个数S在片上网络上划分出数量为S、规模为k*k的不重叠区域,每个划分出的区域满足神经网络的一个卷积窗口处理需求;
(4)通过存储读写模块读取当前卷积窗口计算所需的卷积权值,并将当前卷积层的第Z号卷积权值通过片上网络发送到各个划分区域的第Z号本地节点下的乘法单元,该乘法单元将接收到的卷积权值存入寄存器中,其中,Z代表卷积权值在卷积窗口中的编号;
(5)计算当前卷积窗口对应的卷积结果,并将此卷积结果通过存储读写模块存到片上网络外的存储器中;
(6)判断是否完成神经网络应用中所有卷积层的计算结果:
若是,则执行(10);否则,执行(7);
(7)判断是否完成当前卷积层的所有卷积计算:
若是,则返回(2)并获取下一卷积层参数;否则,则执行(8);
(8)判断是否完成当前卷积窗口对应的所有卷积结果的计算:
若是,则返回(4)并读取下一卷积窗口的卷积权值;否则,执行(9);
(9)判断片上网络外的第四个加法器是否完成累加运算:
若是,则执行(5),将卷积窗口滑动步长A并传输四行输入图像;
若不是,则等待片上网络外的所有加法器完成累加运算;
(10)结束本次面向AI应用的片上网络映射。
2.根据权利要求1所述的方法,其特征在于,(3)中可有效映射卷积窗口的个数S,计算如下:
Figure FDA0002439773390000021
其中,[]代表取整函数,
Figure FDA0002439773390000022
代表x轴上划分个数,
Figure FDA0002439773390000023
代表y轴上划分个数。
3.根据权利要求1所述等方法,其特征在于所述(5)计算当前卷积窗口对应的卷积结果,实现如下:
(5a)从存储读写模块中同时读取L行卷积窗口对应的输入图像,并将不同行卷积窗口对应的输入图像通过片上网络不同输入方向的数据传输信道,传输到片上网络的第Z号本地节点下的乘法器中进行乘法计算;
(5b)乘法单元从包含的寄存器中读取出卷积权值,将其与输入图像按照卷积窗口的行数编号L依次进行乘积运算;
(5c)乘法单元计算完卷积权值与输入图像的乘积结果后,将计算结果通过片上网络发送到片上网络外的四个加法器中。
(5d)加法器将乘法器传输到的所有乘法结果进行累加运算,得到当前卷积窗口的卷积结果,并将此卷积结果通过存储读写模块存到片上网络外的存储器中。
CN202010262096.4A 2020-04-06 2020-04-06 面向ai应用的片上网络映射方法 Active CN111475461B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010262096.4A CN111475461B (zh) 2020-04-06 2020-04-06 面向ai应用的片上网络映射方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010262096.4A CN111475461B (zh) 2020-04-06 2020-04-06 面向ai应用的片上网络映射方法

Publications (2)

Publication Number Publication Date
CN111475461A true CN111475461A (zh) 2020-07-31
CN111475461B CN111475461B (zh) 2023-03-24

Family

ID=71750592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010262096.4A Active CN111475461B (zh) 2020-04-06 2020-04-06 面向ai应用的片上网络映射方法

Country Status (1)

Country Link
CN (1) CN111475461B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112580774A (zh) * 2020-09-01 2021-03-30 浙江大学 一种面向可重构神经网络处理器的神经网络布局方法
CN113900917A (zh) * 2021-09-30 2022-01-07 上海商汤智能科技有限公司 一种性能确定方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915322A (zh) * 2015-06-09 2015-09-16 中国人民解放军国防科学技术大学 一种卷积神经网络硬件加速方法及其axi总线ip核
US20180157969A1 (en) * 2016-12-05 2018-06-07 Beijing Deephi Technology Co., Ltd. Apparatus and Method for Achieving Accelerator of Sparse Convolutional Neural Network
EP3343460A1 (en) * 2016-12-31 2018-07-04 INTEL Corporation Hardware accelerator template and design framework for implementing recurrent neural networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915322A (zh) * 2015-06-09 2015-09-16 中国人民解放军国防科学技术大学 一种卷积神经网络硬件加速方法及其axi总线ip核
US20180157969A1 (en) * 2016-12-05 2018-06-07 Beijing Deephi Technology Co., Ltd. Apparatus and Method for Achieving Accelerator of Sparse Convolutional Neural Network
EP3343460A1 (en) * 2016-12-31 2018-07-04 INTEL Corporation Hardware accelerator template and design framework for implementing recurrent neural networks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
林志文等: "基于FPGA加速的卷积神经网络识别系统", 《电子技术应用》 *
陈怡然等: "深度神经网络加速器体系结构概述", 《ENGINEERING》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112580774A (zh) * 2020-09-01 2021-03-30 浙江大学 一种面向可重构神经网络处理器的神经网络布局方法
CN113900917A (zh) * 2021-09-30 2022-01-07 上海商汤智能科技有限公司 一种性能确定方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN111475461B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
US11775430B1 (en) Memory access for multiple circuit components
CN110458279B (zh) 一种基于fpga的二值神经网络加速方法及系统
US10943167B1 (en) Restructuring a multi-dimensional array
CN111898733B (zh) 一种深度可分离卷积神经网络加速器架构
CN110097174B (zh) 基于fpga和行输出优先的卷积神经网络实现方法、系统及装置
CN108416437B (zh) 用于乘加运算的人工神经网络的处理系统及方法
CN108665063B (zh) 用于bnn硬件加速器的双向并行处理卷积加速系统
CN107169563B (zh) 应用于二值权重卷积网络的处理系统及方法
CN111738433B (zh) 一种可重配置的卷积硬件加速器
CN110263925B (zh) 一种基于fpga的卷积神经网络前向预测的硬件加速实现装置
CN111414994B (zh) 一种基于FPGA的Yolov3网络计算加速系统及其加速方法
EP3746945A1 (en) Improving performance of neural network arrays
CN107256424B (zh) 三值权重卷积网络处理系统及方法
CN115186821B (zh) 面向芯粒的神经网络推理开销估计方法及装置、电子设备
CN110222818B (zh) 一种用于卷积神经网络数据存储的多bank行列交织读写方法
CN111475461B (zh) 面向ai应用的片上网络映射方法
CN111105023B (zh) 数据流重构方法及可重构数据流处理器
CN112905530B (zh) 片上架构、池化计算加速器阵列、单元以及控制方法
CN110991630A (zh) 一种面向边缘计算的卷积神经网络处理器
CN113313247B (zh) 基于数据流架构的稀疏神经网络的运算方法
CN112799599B (zh) 一种数据存储方法、计算核、芯片和电子设备
CN113261015A (zh) 神经网络系统及数据处理技术
Chen et al. Towards efficient allocation of graph convolutional networks on hybrid computation-in-memory architecture
CN114003201A (zh) 矩阵变换方法、装置及卷积神经网络加速器
CN113762480A (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
GR01 Patent grant
GR01 Patent grant