CN112950656A - 一种基于fpga平台的按通道进行预读取数据的分块卷积方法 - Google Patents

一种基于fpga平台的按通道进行预读取数据的分块卷积方法 Download PDF

Info

Publication number
CN112950656A
CN112950656A CN202110253729.XA CN202110253729A CN112950656A CN 112950656 A CN112950656 A CN 112950656A CN 202110253729 A CN202110253729 A CN 202110253729A CN 112950656 A CN112950656 A CN 112950656A
Authority
CN
China
Prior art keywords
data
convolution
input
memory
reading
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
Application number
CN202110253729.XA
Other languages
English (en)
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.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
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 Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN202110253729.XA priority Critical patent/CN112950656A/zh
Publication of CN112950656A publication Critical patent/CN112950656A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Complex Calculations (AREA)

Abstract

一种基于FPGA平台的按通道进行预读取数据的分块卷积方法属于基于硬件的神经网络的定制化优化加速领域。本发明利用FPGA的高灵活性,对整个计算过程进行定制化设计,以提高整个推断过程的计算速度。在数据预读取方面,将特征图进行分块,从而消除传统卷积过程中的各层之间的依赖性,并且以按通道读取的方式进行数据读取,减少缓存的占用;在卷积过程中,利用循环流水和循环展开来充分利用FPGA的大量计算资源,增加计算的并行力度。同时为了使得流水线的流水间隔为1,本发明把并行循环展开层调整到最内层循环中。此种方法充分利用了数据局部性,并降低了硬件所需数据带宽,提高了计算吞吐率。

Description

一种基于FPGA平台的按通道进行预读取数据的分块卷积方法
技术领域
本发明涉及一种基于FPGA平台的按通道进行预读取数据的分块卷积方法,属于基于硬件的神经网络的定制化优化加速领域。
背景技术
近年来,卷积神经网络(CNN)在图像分类、目标检测和语音识别等方面取得了很大的进展。CNN在准确率上远远超过其他机器学习算法,但在精度提高的同时,CNN的模型网络参数不断加深增加,而且在CNN中的卷积运算是计算的主要方式,卷积会产生大量的计算资源消耗。因此在使用神经网络完成某一特定任务时,不仅所需的计算量和内存会越来越大,时间成本和功耗也会越来越高。所以,对CNN进行优化设计,对于网络加速和终端节点的部署方面具有重要意义。
GPU是目前CNN加速问题最流行的解决方案,主要是对卷积过程进行优化和加速,但由于GPU功耗大的缺点,很难在很多嵌入式设备中应用。为了将CNN推广到更多的应用领域,尤其是嵌入式设备,人们提出了许多基于FPGA和ASIC的硬件加速方案。基于FPGA的设计由于能达到比GPU更好的节能性能而受到越来越多的关注;它还比ASICs提供了更多的灵活性;更重要的是,高级合成(HLS)工具Vivado HLS和OpenCL的出现大大减少了开发时间和编程复杂性。
与GPU相比,FPGA具有更低的能耗,但在性能上仍远远落后于GPU。这主要是因为现有的CNN模型依赖于对浮点数据的密集计算。然而,FPGA有限的计算单元和片上缓冲器极大地限制了它的加速能力。为了减少计算内存和通信带宽的需求,可以利用模型压缩的方法减小CNN模型的大小,如利用低精度的权重、激活甚至梯度来训练CNN网络模型。但是,在上述方法中内存仍然有很高的占用,无法充分发挥FPGA可定制的优势。因此,本发明以减少FPGA内存占用为切入点,提出了按通道进行数据预读取的分块卷积方法,从而减少FPGA的内存占用,优化整个神经网络。
发明内容
本发明的目的在于提出一种基于FPGA平台的按通道进行预读取数据的分块卷积方法,创新点在于利用FPGA的高灵活性,对整个计算过程进行定制化设计,以提高整个推断过程的计算速度。在数据预读取方面,将特征图进行分块,从而消除传统卷积过程中的各层之间的依赖性,并且以按通道读取的方式进行数据读取,减少缓存的占用。本方法选用Xilinx公司的PYNQ-Z2芯片作为实验平台,首先通过PYNQ-Z2的处理系统(PS,ProcessingSystem,一个基于双ARM Cortex A9内核的处理系统,其中集成了内存存储器、外部存储器接口和大量的外设接口)部分将特征图进行加载,使用AXI4协议以直接地址访问(DMA,Direct Memory Access)的方式将数据传输到可编程逻辑(PL,Programmable Logic,基于Xilinx 7系列架构的可编程逻辑单元)部分。PS部分主要负责数据的输入和结果的输出,以及完成PS端的配置;而PL部分则负责将整个网络进行定制化的设计,将PS部分传输过来的特征图进行分块,同时在数据读取时,更改数据的读取方向,以减少内存的占用。面对多层循环计算时,将以循环展开的方式进行流水线设计。然后通过Vivado HLS和Vivado工具生成定制化的IP核,部署到FPGA开发板上。最后,网络的数据结果可以通过PS端基于Web访问的Jupyter Notebook(在线编辑工具)进行查看。
本发明采用的技术方案为一种基于FPGA平台的按通道进行预读取数据的分块卷积方法,属于软硬件协同设计的一种方法,该方法的实现步骤如下:
步骤1.对数据进行分块处理。
将输入特征图分割成4个大小相同的小块,为了保证每个小块进行卷积重新排列后的输出特征图与输入特征图经过卷积操作后得到的输出特征图大小相同,需要对每个小块四边进行填充操作,在本发明中选用0值进行填充。若输入特征图大小为8*8,卷积核大小为3*3,步长为1,现将输入特征图分割成4个等大小的小块,为保证分割前后得到的输出特征图大小相同,在此需将4个小块大小填充为6*6。
步骤2.按通道进行数据读取。
一般来说,输入特征图的维度按照batch size,input channels,height,weight的顺序排列,卷积核的维度按照output channels,input channels,height,weight的顺序排列。改变数据的读取方向需要通过转置这些维度使input channel成为最后一个维度。通过这种方式,数据将按通道进行读取,所占用的缓存大小最多为K*W*C(K为卷积核大小,W为输入特征图宽度,C为输入特征图通道数),这将显著减少缓冲区内存的使用。
步骤3.卷积操作优化。
卷积可以看做是输入特征图与权重的矩阵乘法操作,公式如下:
y=g(WTx) (1)
其中,g表示激活函数,x表示输入特征图,WT表示卷积核的转置,y表示卷积核W在输入特征图x上学习到的特征,即输出特征图。
在卷积优化过程中,利用了并行计算和流水线的方法对矩阵运算进行加速。在FPGA中,输入特征图和卷积核都被存储在较小的内存单元中,以便能够并行获取数据;在计算过程中,由许多寄存器阶段组成,并非等待当前的计算完成,而是在下一个时钟周期继续获取内存,从而创建一个数据处理的流水线。因此,输出数据将在高吞吐量下生成,从而提高整体数据处理速度。
步骤4.根据步骤3,预测运算的关键代码,生成IP核。
在卷积IP核中,包括如下结构:
a.Input Buffer:输入数据缓冲区;
b.Weight Buffer:权值数据缓冲区;
c.Output Buffer:输出数据缓冲区;
d.AXI-Stream:允许无限制的数据突发传输,为高性能数据传输协议;
e.AXI-Lite:一种轻量级的地址映射单次传输协议,适用于硬件运算单元的控制信号传输;
f.Memory Interconnect:数据通路互联;
g.DMA:直接内存存取,负责加速器和内存间的数据传输;
h.Control Interconnect:控制信号线路互联;
i.PE:乘法计算单元;
本发明设计了大量的并行处理单元(PE)来提高计算性能,每个PE负责输入特征图的像素和相应权值的乘法计算,后面跟着一个加法树结构来累加卷积的中间结果。
步骤5.在操作系统下,将硬件比特流式的文件烧写到开发版中,并编写IP核和硬件设备的驱动。
在驱动的编写中,采用访问Linux字符设备的方式访问各个硬件设备;在DMA的驱动编写中采用映射机制进行数据填充;所述映射机制为在内存中预留出一段连续的物理内存,将其映射到内核空间中的一段地址中,然后将该段内核空间地址映射到用户空间。
本发明有益效果:
在本发明中,通过对特征图进行分块,并将分割后的特征图进行填充,消除了特征图间的依赖性;通过按通道进行数据的预读取,有效减少了缓冲区内存的使用;在卷积过程中,利用循环流水和循环展开来充分利用FPGA的大量计算资源,增加计算的并行力度。同时为了使得流水线的流水间隔为1,本发明把并行循环展开层调整到最内层循环中。此种方法充分利用了数据局部性,并降低了硬件所需数据带宽,提高了计算吞吐率。
附图说明
图1为整体架构。
图2为传统卷积与分块卷积
图3为特征图的分块填充。其中a、b分别为传统卷积与分块卷积。
图4为数据预读取。
图5为矩阵乘法。其中a、b分别为默认读取方式与按通道读取方式。
图6为矩阵乘法的优化设计。
其中a、b分别为矩阵乘法与流水线设计。
具体实施方式
为使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述。
本发明采用的技术方案为一种基于FPGA平台的按通道进行预读取数据的分块卷积方法,属于软硬件协同设计的一种方法,整体架构如图1所示,该方法的实现步骤如下:
步骤1.对数据进行分块处理。
在图2(a)中,我们可以看到,在传统的卷积过程中,并没有消除连续层间的数据依赖性,当B1计算完成后,并没有立即计算C1,因为参与C1计算需要B2、B3和B4。因此,在本发明中,采取分块的设计方案减少FPGA内存的占用,如图2(b)所示。
将输入特征图分割成4个大小相同的小块,为了保证每个小块进行卷积重新排列后的输出特征图与输入特征图经过卷积操作后得到的输出特征图大小相同,需要对每个小块四边进行填充操作,在本发明中选用0值进行填充。若输入特征图大小为8*8,卷积核大小为3*3,步长为1,现将输入特征图分割成4个等大小的小块,为保证分割前后得到的输出特征图大小相同,在此需将4个小块大小填充为6*6。如图3所示。
步骤2.按通道进行数据读取。
在图4中,对数据的读取方向做了相应的变化。一般来说,输入特征图的维度按照batch size,input channels,height,weight的顺序排列,卷积核的维度按照outputchannels,input channels,height,weight的顺序排列。在这两种排列中,输入通道被安排在高度和宽度之前,若将这些矩阵分解成数据流,几乎整个特征图都需要存储在缓冲区中,这对FPGA有限的内存来说显然是非常不推荐的操作。因此,需要改变数据的读取方向,通过转置这些维度使input channel成为最后一个维度。通过这种方式,数据将在通道之间流动,这意味着buffer的大小最多为K*W*C,这将显著减少缓冲区内存的使用。
步骤3.卷积操作优化。
卷积层的主要运算是矩阵乘法,如公式(1)所示。在图5中,矩阵C=A*B,C中的每一个值都是通过相应的A行B列相乘得到。
y=g(WTx) (1)
其中,g表示激活函数,x表示输入特征图,WT表示卷积核的转置,y表示卷积核W在输入特征图x上学习到的特征,即输出特征图。
图6说明了FPGA如何通过并行计算和流水线来加速矩阵加法。假设矩阵乘法的维数为(M*3)*(3*N)。图6(a)为在FPGA上生成的数字硬件。内存块(1,3,5)存储输入特征图,内存块(2,4,6)存储权重。输入特征图和权重都被划分到较小的内存块中,从而可以并行获取多个输入数据。在每个时钟周期,三个新的操作数对被取到寄存器A1-3和B1-3,进行并行计算。在计算过程由许多寄存器阶段组成,并非等待当前的计算完成,而是在下一个时钟周期继续获取内存,创建一个数据处理的流水线(如图6(b)所示)。因此,输出数据将在高吞吐量下生成,从而提高整体数据处理速度。
步骤4.根据步骤3,预测运算的关键代码,生成IP核。
在卷积IP核中,包括如下结构:
a.Input Buffer:输入数据缓冲区;
b.Weight Buffer:权值数据缓冲区;
c.Output Buffer:输出数据缓冲区;
d.AXI-Stream:允许无限制的数据突发传输,为高性能数据传输协议;
e.AXI-Lite:一种轻量级的地址映射单次传输协议,适用于硬件运算单元的控制信号传输;
f.Memory Interconnect:数据通路互联;
g.DMA:直接内存存取,负责加速器和内存间的数据传输;
h.Control Interconnect:控制信号线路互联;
i.PE:乘法计算单元;
本发明设计了大量的并行处理单元(PE)来提高计算性能,每个PE负责输入特征图的像素和相应权值的乘法计算,后面跟着一个加法树结构来累加卷积的中间结果。
步骤5.在操作系统下,将硬件比特流式的文件烧写到开发版中,并编写IP核和硬件设备的驱动。
在驱动的编写中,采用访问Linux字符设备的方式访问各个硬件设备;在DMA的驱动编写中采用映射机制进行数据填充;所述映射机制为在内存中预留出一段连续的物理内存,将其映射到内核空间中的一段地址中,然后将该段内核空间地址映射到用户空间。

Claims (1)

1.一种基于FPGA平台的按通道进行预读取数据的分块卷积方法,其特征在于:通过块卷积和按通道进行数据预读取的方法;同时在卷积过程中利用并行流水的方法优化卷积过程;
步骤1.对数据进行分块处理;
将输入特征图分割成4个大小相同的小块,为了保证每个小块进行卷积重新排列后的输出特征图与输入特征图经过卷积操作后得到的输出特征图大小相同,需要对每个小块四边进行填充操作,在本发明中选用0值进行填充;
步骤2.按通道进行数据读取;
输入特征图的维度按照batch size,input channels,height,weight的顺序排列,卷积核的维度按照output channels,input channels,height,weight的顺序排列;改变数据的读取方向即通过转置这些维度使input channel成为最后一个维度;
数据将按通道进行读取,所占用的缓存大小最多为K*W*C,其中K为卷积核大小,W为输入特征图宽度,C为输入特征图通道数;
步骤3.卷积操作优化;
卷积输入特征图与权重的矩阵乘法操作,公式如下:
y=g(WTx) (1)
其中,g表示激活函数,x表示输入特征图,WT表示卷积核的转置,y表示卷积核W在输入特征图x上学习到的特征,即输出特征图;
在卷积优化过程中,利用了并行计算和流水线的方法对矩阵运算进行加速;在FPGA中,输入特征图和卷积核都被存储在内存单元中,以便能够并行获取数据;在计算过程中,由许多寄存器阶段组成,并非等待当前的计算完成,而是在下一个时钟周期继续获取内存,从而创建一个数据处理的流水线;
步骤4.根据步骤3,预测运算的关键代码,生成IP核;
在卷积IP核中,包括如下结构:
a.Input Buffer:输入数据缓冲区;
b.Weight Buffer:权值数据缓冲区;
c.Output Buffer:输出数据缓冲区;
d.AXI-Stream:允许无限制的数据突发传输,为高性能数据传输协议;
e.AXI-Lite:一种轻量级的地址映射单次传输协议,适用于硬件运算单元的控制信号传输;
f.Memory Interconnect:数据通路互联;
g.DMA:直接内存存取,负责加速器和内存间的数据传输;
h.Control Interconnect:控制信号线路互联;
i.PE:乘法计算单元;
每个PE负责输入特征图的像素和相应权值的乘法计算,后面跟着一个加法树结构来累加卷积的中间结果;
步骤5.在操作系统下,将硬件比特流式的文件烧写到开发版中,并编写IP核和硬件设备的驱动;
在驱动的编写中,采用访问Linux字符设备的方式访问各个硬件设备;在DMA的驱动编写中采用映射机制进行数据填充;所述映射机制为在内存中预留出一段连续的物理内存,将其映射到内核空间中的一段地址中,然后将该段内核空间地址映射到用户空间。
CN202110253729.XA 2021-03-09 2021-03-09 一种基于fpga平台的按通道进行预读取数据的分块卷积方法 Pending CN112950656A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110253729.XA CN112950656A (zh) 2021-03-09 2021-03-09 一种基于fpga平台的按通道进行预读取数据的分块卷积方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110253729.XA CN112950656A (zh) 2021-03-09 2021-03-09 一种基于fpga平台的按通道进行预读取数据的分块卷积方法

Publications (1)

Publication Number Publication Date
CN112950656A true CN112950656A (zh) 2021-06-11

Family

ID=76230302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110253729.XA Pending CN112950656A (zh) 2021-03-09 2021-03-09 一种基于fpga平台的按通道进行预读取数据的分块卷积方法

Country Status (1)

Country Link
CN (1) CN112950656A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113673690A (zh) * 2021-07-20 2021-11-19 天津津航计算技术研究所 一种水下噪声分类卷积神经网络加速器
CN113704172A (zh) * 2021-08-20 2021-11-26 北京大学 基于脉动阵列的转置卷积和卷积加速器芯片设计方法
CN114119344A (zh) * 2021-11-30 2022-03-01 中国科学院半导体研究所 数据处理方法及数据处理装置
CN114202071A (zh) * 2022-02-17 2022-03-18 浙江光珀智能科技有限公司 一种基于数据流模式的深度卷积神经网络推理加速方法
CN114239646A (zh) * 2021-12-01 2022-03-25 电子科技大学 一种基于复数神经网络的辐射源识别系统
CN114662660A (zh) * 2022-03-14 2022-06-24 昆山市工业技术研究院有限责任公司 一种cnn加速器数据存取方法及系统
CN116401502A (zh) * 2023-06-09 2023-07-07 之江实验室 一种基于NUMA系统特性优化Winograd卷积的方法及装置
CN118332239A (zh) * 2024-04-16 2024-07-12 大连理工大学 基于循环优化技术的通用卷积运算加速器架构的设计与实现方法
CN118409874A (zh) * 2024-07-02 2024-07-30 支付宝(杭州)信息技术有限公司 基于gpu片上内存的数据处理方法、装置及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108171317A (zh) * 2017-11-27 2018-06-15 北京时代民芯科技有限公司 一种基于soc的数据复用卷积神经网络加速器
CN108229670A (zh) * 2018-01-05 2018-06-29 中国科学技术大学苏州研究院 基于fpga的深度神经网络加速平台
CN110084739A (zh) * 2019-03-28 2019-08-02 东南大学 一种基于cnn的画质增强算法的fpga并行加速系统
US20200151019A1 (en) * 2019-03-14 2020-05-14 Rednova Innovations,Inc. OPU-based CNN acceleration method and system
WO2020119318A1 (zh) * 2018-12-15 2020-06-18 华南理工大学 一种自适应卷积层硬件加速器设计方法
CN111967582A (zh) * 2020-08-07 2020-11-20 苏州浪潮智能科技有限公司 一种cnn卷积层运算方法及cnn卷积层运算加速器
CN112288082A (zh) * 2020-11-23 2021-01-29 天津大学 一种基于hls的可重构通用标准卷积加速器设计方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108171317A (zh) * 2017-11-27 2018-06-15 北京时代民芯科技有限公司 一种基于soc的数据复用卷积神经网络加速器
CN108229670A (zh) * 2018-01-05 2018-06-29 中国科学技术大学苏州研究院 基于fpga的深度神经网络加速平台
WO2020119318A1 (zh) * 2018-12-15 2020-06-18 华南理工大学 一种自适应卷积层硬件加速器设计方法
US20200151019A1 (en) * 2019-03-14 2020-05-14 Rednova Innovations,Inc. OPU-based CNN acceleration method and system
CN110084739A (zh) * 2019-03-28 2019-08-02 东南大学 一种基于cnn的画质增强算法的fpga并行加速系统
CN111967582A (zh) * 2020-08-07 2020-11-20 苏州浪潮智能科技有限公司 一种cnn卷积层运算方法及cnn卷积层运算加速器
CN112288082A (zh) * 2020-11-23 2021-01-29 天津大学 一种基于hls的可重构通用标准卷积加速器设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵烁;范军;何虎;: "基于FPGA的CNN加速SoC系统设计", 计算机工程与设计, no. 04, 16 April 2020 (2020-04-16) *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113673690A (zh) * 2021-07-20 2021-11-19 天津津航计算技术研究所 一种水下噪声分类卷积神经网络加速器
CN113673690B (zh) * 2021-07-20 2024-05-28 天津津航计算技术研究所 一种水下噪声分类卷积神经网络加速器
CN113704172B (zh) * 2021-08-20 2023-11-21 北京大学 基于脉动阵列的转置卷积和卷积加速器芯片设计方法
CN113704172A (zh) * 2021-08-20 2021-11-26 北京大学 基于脉动阵列的转置卷积和卷积加速器芯片设计方法
CN114119344A (zh) * 2021-11-30 2022-03-01 中国科学院半导体研究所 数据处理方法及数据处理装置
CN114239646A (zh) * 2021-12-01 2022-03-25 电子科技大学 一种基于复数神经网络的辐射源识别系统
CN114239646B (zh) * 2021-12-01 2023-06-16 电子科技大学 一种基于复数神经网络的辐射源识别系统
CN114202071A (zh) * 2022-02-17 2022-03-18 浙江光珀智能科技有限公司 一种基于数据流模式的深度卷积神经网络推理加速方法
CN114202071B (zh) * 2022-02-17 2022-05-27 浙江光珀智能科技有限公司 一种基于数据流模式的深度卷积神经网络推理加速方法
CN114662660A (zh) * 2022-03-14 2022-06-24 昆山市工业技术研究院有限责任公司 一种cnn加速器数据存取方法及系统
CN116401502B (zh) * 2023-06-09 2023-11-03 之江实验室 一种基于NUMA系统特性优化Winograd卷积的方法及装置
CN116401502A (zh) * 2023-06-09 2023-07-07 之江实验室 一种基于NUMA系统特性优化Winograd卷积的方法及装置
CN118332239A (zh) * 2024-04-16 2024-07-12 大连理工大学 基于循环优化技术的通用卷积运算加速器架构的设计与实现方法
CN118409874A (zh) * 2024-07-02 2024-07-30 支付宝(杭州)信息技术有限公司 基于gpu片上内存的数据处理方法、装置及系统

Similar Documents

Publication Publication Date Title
CN112950656A (zh) 一种基于fpga平台的按通道进行预读取数据的分块卷积方法
CN106940815B (zh) 一种可编程卷积神经网络协处理器ip核
CN109598338B (zh) 一种基于fpga的计算优化的卷积神经网络加速器
US20220012593A1 (en) Neural network accelerator and neural network acceleration method based on structured pruning and low-bit quantization
CN108805266B (zh) 一种可重构cnn高并发卷积加速器
CN106228238B (zh) 现场可编程门阵列平台上加速深度学习算法的方法和系统
CN110738308B (zh) 一种神经网络加速器
CN111459877A (zh) 基于FPGA加速的Winograd YOLOv2目标检测模型方法
Choi et al. An energy-efficient deep convolutional neural network training accelerator for in situ personalization on smart devices
CN109409511A (zh) 一种用于动态可重构阵列的卷积运算数据流调度方法
CN111105023B (zh) 数据流重构方法及可重构数据流处理器
CN111767986A (zh) 一种基于神经网络的运算方法及装置
CN113361695B (zh) 卷积神经网络加速器
CN110674927A (zh) 一种用于脉动阵列结构的数据重组方法
CN111768458A (zh) 一种基于卷积神经网络的稀疏图像处理方法
CN113792621B (zh) 一种基于fpga的目标检测加速器设计方法
CN110222818A (zh) 一种用于卷积神经网络数据存储的多bank行列交织读写方法
CN110543939A (zh) 一种基于fpga的卷积神经网络后向训练的硬件加速实现架构
CN112836813B (zh) 一种用于混合精度神经网络计算的可重构脉动阵列系统
Huang et al. IECA: An in-execution configuration CNN accelerator with 30.55 GOPS/mm² area efficiency
CN111488051A (zh) 基于cpu和fpga协同计算的云端深度神经网络优化方法
CN115423081A (zh) 一种基于fpga的cnn_lstm算法的神经网络加速器
CN115238863A (zh) 一种卷积神经网络卷积层的硬件加速方法、系统及应用
US11500962B1 (en) Emulating fine-grained sparsity in a systolic array
CN112001492A (zh) 关于二值权重DenseNet模型的混合流水式加速架构及加速方法

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