CN108595379A - 一种基于多级缓存的并行化卷积运算方法及系统 - Google Patents

一种基于多级缓存的并行化卷积运算方法及系统 Download PDF

Info

Publication number
CN108595379A
CN108595379A CN201810432242.6A CN201810432242A CN108595379A CN 108595379 A CN108595379 A CN 108595379A CN 201810432242 A CN201810432242 A CN 201810432242A CN 108595379 A CN108595379 A CN 108595379A
Authority
CN
China
Prior art keywords
convolution algorithm
parallelization
data
convolution
level buffer
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
CN201810432242.6A
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.)
Jinan Inspur Hi Tech Investment and Development Co Ltd
Original Assignee
Jinan Inspur Hi Tech Investment and Development 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 Jinan Inspur Hi Tech Investment and Development Co Ltd filed Critical Jinan Inspur Hi Tech Investment and Development Co Ltd
Priority to CN201810432242.6A priority Critical patent/CN108595379A/zh
Publication of CN108595379A publication Critical patent/CN108595379A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于多级缓存的并行化卷积运算方法及系统,属于神经网络技术领域。本发明的基于多级缓存的并行化卷积运算方法,所述并行化卷积运算方法在进行卷积运算时,首先进行数据缓存,当卷积计算阵列的数据准备完成时送入并行卷积核完成卷积运算。该发明的基于多级缓存的并行化卷积运算方法针对卷积运算中不同规模的卷积核来设计不同级的缓存FIFO,在时序上严格对准输入数据量满足卷积运算的时间点,具有很好的推广应用价值。

Description

一种基于多级缓存的并行化卷积运算方法及系统
技术领域
本发明涉及神经网络技术领域,具体提供一种基于多级缓存的并行化卷积运算方法及系统。
背景技术
深度学习模型是构建在海量的数据和强有力超算能力基础之上的,传统计算架构已经无法支撑深度学习大规模并行计算需求,因此,通过底层应用加速计算过程结合深度学习算法上的优化,是推动人工智能整个产业链发展的重要环节。
目前针对深度学习的分布式加速主要有三种形式:GPU、FPGA和NPU。GPU是最先被引入深度学习领域的,我们熟知的阿尔法狗就是由1920个CPU加280个GPU搭建的超算平台。作为最早看好深度学习应用加速的公司,英伟达是该领域当仁不让的领导者,通过打造CUDA平台,GPU在SIMD单指令多数据流架构中的优势被全面激发,结合高并行计算和高计算吞吐的特点,GPU可以大规模适用于具备计算密集、高并行、SIMD应用等特点的深度学习训练模型领域。GPU虽火,但是从技术上将,也有一定的局限性。首先运行能效比不佳。相比较而言,运行深度学习算法实现同样的性能,GPU所需功耗远远大于FPGA,通常情况下,GPU只能达到FPGA能效比的一半或更低。其次,应用过程中无法充分发挥并行计算优势。深度学习包含两个计算缓解,即训练(Off-line)和推理(On-line)环节。GPU在深度学习算法模型训练上非常高效,但在推理时一次性只能对于一个输入项进行处理,并行计算的优势不能发挥出来。第三,硬件结构固定不具备可编程性。目前来看,深度学习算法还未完全成熟,算法还在迭代衍化过程中,若深度学习算法发生大的变化,GPU无法像FPGA一样可以灵活的配置硬件结构,快速切入市场。
卷积神经网络一般用于图像分类等应用中,在基于FPGA的加速器设计中,输入像素点数据是以串行数据流的形式传输到计算单元的,而卷积运算的过程是取一个N*N的方框来进行计算,以卷积核为3*3为例,示意图如附图1所示。数据流是传输完一行再传输下一行,所以对于在传输前两行数据时是无法进行卷积运算的。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种针对卷积运算中不同规模的卷积核来设计不同级的缓存FIFO,在时序上严格对准输入数据量满足卷积运算的时间点的基于多级缓存的并行化卷积运算方法。
本发明进一步的技术任务是提供一种基于多级缓存的并行化卷积运算系统。
为实现上述目的,本发明提供了如下技术方案:
一种基于多级缓存的并行化卷积运算方法,所述并行化卷积运算方法在进行卷积运算时,首先进行数据缓存,当卷积计算阵列的数据准备完成时送入并行卷积核完成卷积运算。
所述基于多级缓存的并行化卷积运算方法针对卷积运算中不同规模的卷积核来设计不同级的缓存FIFO(First Input First Output即先入先出队列),在时序上严格对准输入数据量满足卷积运算的时间点,并通过并行卷积运算在一个时钟周期内完成一次卷积运算,实现最快的运算效率。
作为优选,所述卷积计算阵列采用N行乘N列个卷积计算单元,其中N不小于3。
作为优选,进行数据缓存时需要N-1级FIFO来缓存前N-1行的数据,第N行需N个寄存器来锁存N个数据。
作为优选,第N行的数据量足够N个后,与卷积核进行卷积运算。
作为优选,所述卷积运算设计为一个时钟,计算时钟与数据时钟同步。
作为优选,在一个时钟周期内N-1级FIFO输出数据存入N-2级FIFO,寄存器REG1数据存入N-1级FIFO,寄存器REG2数据赋值给寄存器REG1,寄存器REGN数据赋值给寄存器REGN-1。
一种基于多级缓存的并行化卷积运算系统,该并行化卷积运算系统包括N-1级FIFO和N个寄存器REG,所述N-1级FIFO分别用来缓存前N-1行的数据,N个寄存器REG用来锁存N个数据,其中N不小于3。
与现有技术相比,本发明的基于多级缓存的并行化卷积运算方法具有以下突出的有益效果:所述基于多级缓存的并行化卷积运算方法针对卷积运算中不同规模的卷积核来设计不同级的缓存FIFO(First Input First Output即先入先出队列),在时序上严格对准输入数据量满足卷积运算的时间点,并通过并行卷积运算在一个时钟周期内完成一次卷积运算,实现最快的运算效率,具有良好的推广应用价值。
附图说明
图1是现有技术中卷积运算的流程图;
图2是本发明所述基于多级缓存的并行化卷积运算方法的流程图。
具体实施方式
下面将结合附图和实施例,对本发明的基于多级缓存的并行化卷积运算方法及系统作进一步详细说明。
实施例
本发明的基于多级缓存的并行化卷积运算方法在进行卷积运算时,首先进行数据缓存,当卷积计算阵列的数据准备完成时送入并行卷积核完成卷积运算,以实现最快的运算效率。卷积计算阵列采用N行乘N列个卷积计算单元。本发明中以3*3的卷积核为例,具体过程如图2所示:
1、首先在第二行输入数据存入FIFOB,存满一行数据存入第一行FIFOA。
2、第三行的数据首先依次赋值给三个寄存器REG1、REG2和REG3,在后续计算完成一次卷积运算后存入FIFOB。
3、利用FIFO先入先出的特性,每次进行卷积运算时FIFOB输出一个数据用于卷积运算,并存入FIFOA,而FIFOA的数据只需要进行卷积运算。
4、卷积运算采用并行化的电流设计,一个时钟内即可完成3*3的卷积运算。该二级缓存的设计方法针对3*3的卷积核,对于其他N*N的卷积核运算情况,需要设计N-1级的缓存。
本发明的基于多级缓存的并行化卷积运算系统包括两级FIFO和3个寄存器REG。两级FIFO分别用来缓存两行的数据,3个寄存器REG用来锁存三个数据。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (7)

1.一种基于多级缓存的并行化卷积运算方法,其特征在于:所述并行化卷积运算方法在进行卷积运算时,首先进行数据缓存,当卷积计算阵列的数据准备完成时送入并行卷积核完成卷积运算。
2.根据权利要求1所述的基于多级缓存的并行化卷积运算方法,其特征在于:所述卷积计算阵列采用N行乘N列个卷积计算单元,其中N不小于3。
3.根据权利要求1或2所述的基于多级缓存的并行化卷积运算方法,其特征在于:进行数据缓存时需要N-1级FIFO来缓存前N-1行的数据,第N行需N个寄存器来锁存N个数据。
4.根据权利要求3所述的基于多级缓存的并行化卷积运算方法,其特征在于:第N行的数据量足够N个后,与卷积核进行卷积运算。
5.根据权利要求4所述的基于多级缓存的并行化卷积运算方法,其特征在于:所述卷积运算设计为一个时钟,计算时钟与数据时钟同步。
6.根据权利要求5所述的基于多级缓存的并行化卷积运算方法,其特征在于:在一个时钟周期内N-1级FIFO输出数据存入N-2级FIFO,寄存器REG1数据存入N-1级FIFO,寄存器REG2数据赋值给寄存器REG1,寄存器REGN数据赋值给寄存器REGN-1。
7.一种基于多级缓存的并行化卷积运算系统,其特征在于:该并行化卷积运算系统包括N-1级FIFO和N个寄存器REG,所述N-1级FIFO分别用来缓存前N-1行的数据,N个寄存器REG用来锁存N个数据,其中N不小于3。
CN201810432242.6A 2018-05-08 2018-05-08 一种基于多级缓存的并行化卷积运算方法及系统 Pending CN108595379A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810432242.6A CN108595379A (zh) 2018-05-08 2018-05-08 一种基于多级缓存的并行化卷积运算方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810432242.6A CN108595379A (zh) 2018-05-08 2018-05-08 一种基于多级缓存的并行化卷积运算方法及系统

Publications (1)

Publication Number Publication Date
CN108595379A true CN108595379A (zh) 2018-09-28

Family

ID=63636156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810432242.6A Pending CN108595379A (zh) 2018-05-08 2018-05-08 一种基于多级缓存的并行化卷积运算方法及系统

Country Status (1)

Country Link
CN (1) CN108595379A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109816093A (zh) * 2018-12-17 2019-05-28 北京理工大学 一种单路式卷积实现方法
CN110009644A (zh) * 2019-03-26 2019-07-12 深兰科技(上海)有限公司 一种特征图行像素分段的方法和装置
CN110659119A (zh) * 2019-09-12 2020-01-07 浪潮电子信息产业股份有限公司 一种图片处理方法、装置及系统
CN110991609A (zh) * 2019-11-27 2020-04-10 天津大学 提高数据传输效率的行缓存器
WO2022095632A1 (zh) * 2020-11-06 2022-05-12 苏州浪潮智能科技有限公司 一种基于fpga实现数据卷积运算的方法、装置和介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060156173A1 (en) * 2004-11-30 2006-07-13 Ciena Corporation Method and apparatus for the efficient implementation of a totally general convolutional interleaver in DMT-based xDSL systems
US20070277064A1 (en) * 2006-05-02 2007-11-29 Mediatek Inc. Reconfigurable convolutional interleaver/deinterleaver using minimum amount of memory and an address generator
CN101444101A (zh) * 2006-06-28 2009-05-27 三星电子株式会社 使用多个并行编码器的用于数字通信的系统和方法
CN102208005A (zh) * 2011-05-30 2011-10-05 华中科技大学 一种2-d卷积器
CN104240240A (zh) * 2014-09-04 2014-12-24 南京理工大学 一种基于fpga的红外小目标检测方法及系统
CN105469373A (zh) * 2014-09-04 2016-04-06 南京理工大学 一种Retinex图像增强方法及系统
CN106228240A (zh) * 2016-07-30 2016-12-14 复旦大学 基于fpga的深度卷积神经网络实现方法
CN106250103A (zh) * 2016-08-04 2016-12-21 东南大学 一种卷积神经网络循环卷积计算数据重用的系统
CN107392309A (zh) * 2017-09-11 2017-11-24 东南大学—无锡集成电路技术研究所 一种基于fpga的通用定点数神经网络卷积加速器硬件结构

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060156173A1 (en) * 2004-11-30 2006-07-13 Ciena Corporation Method and apparatus for the efficient implementation of a totally general convolutional interleaver in DMT-based xDSL systems
US20070277064A1 (en) * 2006-05-02 2007-11-29 Mediatek Inc. Reconfigurable convolutional interleaver/deinterleaver using minimum amount of memory and an address generator
CN101444101A (zh) * 2006-06-28 2009-05-27 三星电子株式会社 使用多个并行编码器的用于数字通信的系统和方法
CN102208005A (zh) * 2011-05-30 2011-10-05 华中科技大学 一种2-d卷积器
CN104240240A (zh) * 2014-09-04 2014-12-24 南京理工大学 一种基于fpga的红外小目标检测方法及系统
CN105469373A (zh) * 2014-09-04 2016-04-06 南京理工大学 一种Retinex图像增强方法及系统
CN106228240A (zh) * 2016-07-30 2016-12-14 复旦大学 基于fpga的深度卷积神经网络实现方法
CN106250103A (zh) * 2016-08-04 2016-12-21 东南大学 一种卷积神经网络循环卷积计算数据重用的系统
CN107392309A (zh) * 2017-09-11 2017-11-24 东南大学—无锡集成电路技术研究所 一种基于fpga的通用定点数神经网络卷积加速器硬件结构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YANXIAOPAN: "卷积运算中5X5卷积模版的实现-verilog", 《HTTPS://BLOG.CSDN.NET/YANXIAOPAN/ARTICLE/DETAILS/76852342》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109816093A (zh) * 2018-12-17 2019-05-28 北京理工大学 一种单路式卷积实现方法
CN110009644A (zh) * 2019-03-26 2019-07-12 深兰科技(上海)有限公司 一种特征图行像素分段的方法和装置
CN110659119A (zh) * 2019-09-12 2020-01-07 浪潮电子信息产业股份有限公司 一种图片处理方法、装置及系统
CN110659119B (zh) * 2019-09-12 2022-08-02 浪潮电子信息产业股份有限公司 一种图片处理方法、装置及系统
US11614964B2 (en) 2019-09-12 2023-03-28 Inspur Electronic Information Industry Co., Ltd. Deep-learning-based image processing method and system
CN110991609A (zh) * 2019-11-27 2020-04-10 天津大学 提高数据传输效率的行缓存器
CN110991609B (zh) * 2019-11-27 2023-12-26 天津大学 用于数据传输的行缓存器
WO2022095632A1 (zh) * 2020-11-06 2022-05-12 苏州浪潮智能科技有限公司 一种基于fpga实现数据卷积运算的方法、装置和介质

Similar Documents

Publication Publication Date Title
CN108595379A (zh) 一种基于多级缓存的并行化卷积运算方法及系统
CN106297774B (zh) 一种神经网络声学模型的分布式并行训练方法及系统
CN108090565A (zh) 一种卷积神经网络并行化训练加速方法
CN109299781A (zh) 基于动量和剪枝的分布式深度学习系统
CN107704916A (zh) 一种基于fpga实现rnn神经网络的硬件加速器及方法
CN108268933A (zh) 矩阵处理架构中的最大池化
US11436065B2 (en) System for efficient large-scale data distribution in distributed and parallel processing environment
CN111325321A (zh) 基于多神经网络融合的类脑计算系统及指令集的执行方法
CN110321997B (zh) 高并行度计算平台、系统及计算实现方法
CN110163356A (zh) 一种计算装置及方法
CN109284824A (zh) 一种基于可重构技术的用于加速卷积和池化运算的装置
Zhang et al. Implementation and optimization of the accelerator based on FPGA hardware for LSTM network
Zhang et al. Efficient neighbor-sampling-based gnn training on cpu-fpga heterogeneous platform
Lan et al. Accelerated device placement optimization with contrastive learning
Kommadath et al. Parallel computing strategies for sanitized teaching learning based optimization
KR20210044180A (ko) 고급 상호 연결 통신기술을 이용한 ai 훈련 가속화 방법 및 시스템
CN107256203A (zh) 一种矩阵向量乘法的实现方法和装置
CN114511094B (zh) 一种量子算法的优化方法、装置、存储介质与电子装置
KR102463147B1 (ko) 초병렬 심층 학습 방법 및 장치
US20220164189A1 (en) Systems and methods for improved mapping of computational loops on reconfigurable architectures
CN109800867A (zh) 一种基于fpga片外存储器的数据调用方法
Singh et al. A Hybrid Tensor-Expert-Data Parallelism Approach to Optimize Mixture-of-Experts Training
Song et al. Novel graph processor architecture
Al-marakeby FPGA on FPGA: implementation of fine-grained parallel genetic algorithm on field programmable gate array
Fang et al. DI_GA: A heuristic mapping algorithm for heterogeneous network-on-chip

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180928

RJ01 Rejection of invention patent application after publication