【分布式存储卷积计算设计过程案例3900字】.docxVIP

【分布式存储卷积计算设计过程案例3900字】.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

分布式存储卷积计算设计过程案例

目录

分布式存储卷积计算设计过程案例 1

1.1分布存储神经网络并行结构设计 1

1.2分布卷积计算设计 6

1.3分布存储卷积计算整体结构 9

为了提升并行卷积运算结构的运算并行性,必须要保证运算所需数据的提供,即卷积神经网络加速研究还必须解决以下两个问题:1)内部存储RAM需求高的限制;2)数据外部存储带宽限制。因此本文提出分布式存储卷积神经网络加速架构解决这两个问题,满足并行运算的数据需求,同时提高数据的复用率,提高整个带宽的利用率,提升整个系统的性能。

1.1分布存储神经网络并行结构设计

理想的加速神经网络系统设计是采用流水线形式进行全部层次的展开,结构图如图1.15所示。整个系统被全部展开,其数据主要存储在片内缓存,在初始运行时,第一个输出结果有很大的延时,但当第一个结果输出后,下一个结果紧随而来,具有很好的并行效果,然而该架构下的并行模式对计算资源和内部缓存资源以及外部存储带宽具有很高的要求,只适合特定小型网络,在深度网络以及多种神经网络上无法通用。

Input

Input

Layer1

Layer2

LayerN

Ouput

图1.15理想卷积加速结构

本文设计的分布存储卷积计算架构是一个通用网络架构,可实现卷积层、激活函数以及池化层计算的灵活重构。系统进行运算时,通过片上嵌入式CPU或者外部总线进行命令的传递。控制模块接受到指令后,根据指令调度各个运算层,重构各种卷积神经网络。该结构对神经网络的深度没有限制,并且系统可以重构多种网络,提高网络的通用性;同时该架构可以通过较小的片上存储缓存,充分利用外部带宽,该模型的结构图如图1.16所示。

控制器PS

控制器

通用CNN加速网络

外部总

线

PL

图1.16通用加速系统架构(因特网改为外部总线)

图1.16中通用CNN加速网络结构如图1.17所示,主要包括N个输入模块、

N个缓存填充模块、N×M个卷积并行加速模块、M个激活函数模块、M个池化模块、M个输出缓存模块。

权重缓存

权重缓存

输入图像缓存

输入图像缓存

卷积计算模块

卷积计算模块

缓存填充

缓存填充

输出缓存

输出缓存

池化模块

池化模块

激活函数

激活函数

图1.17通用CNN加速模块架构

根据卷积的特性,本文为了最大程度增加系统的并行行,系统采用输入特征图通道、卷积核以及输出特征图通道一起并行计算的结构,设输入特征图通道并行度为N,卷积核大小为K,以及输出特征图通道为M,最小的卷积计算模块为卷积核K×K并行的计算结构,输入和输出特征图并行需要N×M个卷积计算模块,整个系统需要N×M×K×K个乘法器,M×(K×K×N-1)个加法器。

采用该并行计算模式,不仅最大程度增加系统的并行性,同时每个模块的计算互不影响,提高了数据的复用率;在只采用卷积核并行运算的情况下,系统的并行度只有K×K,计算效率太低,同时采用多输入特征图通道N并行计算,可以增加整个神经网络系统的并行性,但是只增加输入特征图通道进行卷积并行仅输出一个特征图通道数据,导致对输入特征图通道数据的利用率较底,每计算一个输出特征图通道数据就需要从DDR中读取所有输入特征图通道数据,设卷积层i的输入特征图通道数为Xi,输出特征图通道数为Y,进行一层卷积计算,需要从DDR中读取数据的次数Z为下式1.1所示。

(1.1)

数据的利用率较低,系统对外部读取数据的DDR带宽要交较高,为了提升读取数据的复用率,采用M个输出通道图通道并行计算输出,N个输入特征图通道数据进行复用同时计算出M个输出特征图通道,采用该方式下,卷积层i从DDR中读取数据的次数变为下式1.2,对读取数据的带宽需求减M倍。在进行N

输入特征图通道,M输出特征图通道并行计算,导致整个卷积层的结果按照M个通道分块存储,而非传统连续存储。

(1.2)

与系统的并行结构适配的存储方式为采用N个输入缓存模块和N个缓存填充预处理模块,N个并行模块将输入特征图数据传递给N×M个卷积计算模块,同时在卷积的运算过程中,由于权重的共享,权重数据的需求较少,对图像数据的需求量较大,因而图像数据存储占用FPGA端的DDR存储,为了减少对DDR带宽的占用,权重数据从嵌入式系统上cpu端进行数据的传输,同时设置权重缓存模块提高权重数据;为了满足后续对M个输出特征图通道的激活函数以及池化处理,同样采用M个并行激活函数、池化以及输出缓存模块。

在采用多输入特征图通道、卷积核以及多输出

您可能关注的文档

文档评论(0)

文档之家 + 关注
实名认证
文档贡献者

文档创作者

1亿VIP精品文档

相关文档