文献阅读(27)

  • 题目:Optimizing the Convolution Operation to Accelerate Deep Neural Networks on FPGA
  • 时间:2018
  • 期刊:IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS
  • 研究机构:Arizona State University

1 缩写 & 引用

2 abstract & introduction

这篇论文重点在于分析三种loop优化策略,根据设计不同的参数量化accelerator的指标,并实现了对应的硬件结构
循环的三种优化方法: 展开、tile、interchange

3 acceleration of convolution loop

存储分成了三层架构:片外资源、片上资源、寄存器
跟循环相关的各项变量如图
在这里插入图片描述

3.1 循环展开

和他本人的另一篇论文很像,循环一共分成四层,可以分开展开,分别对应不同的物理意义和硬件结构,也相对应复用不同的数据
在这里插入图片描述

  • 展开loop1:同一个kernel的不同位置的数据一起计算,结果加起来,比如说kernel大小是4x4,每次可以算2x2 kernel的值,一共四次可以算完
    在这里插入图片描述

  • 展开loop2: 把input channel展开,都对应了(x,y)相同的位置,算完加起来
    在这里插入图片描述

  • 展开loop3:这相当于weight被复用了,同一个weight同时和多个不同位置的input feature元素相乘,得到多个部分和
    在这里插入图片描述

  • 展开loop4:展开输出channel,相当于输入复用了,同一个input feature的元素和多个不同kernel相乘,得到多个部分和
    在这里插入图片描述

3.2 循环tiling

对于一个feature map可能比较大,就需要切割成小块,这样能放到片上缓存

3.3 循环interchange

应该内外循环交换,有两种loop order

  • intratile loop order:片上缓存到PE的数据流动
  • intertile loop order:片外到片上数据流动

4 analysis on design objectives of CNN accelerator

4.1 计算延时

延时就总的乘法次数除以乘法器个数

在这里插入图片描述

5 CNN硬件结构

在这里插入图片描述


  • 题目:Performance Modeling for CNN Inference Accelerators on FPGA
  • 时间:2019
  • 期刊:TCAD
  • 研究机构:亚利桑那州立大学Yufei Ma

1 abstract & introduction

类似上一篇论文,不过这篇专注于建模与设计空间探索,主要贡献包括:

  1. formulated design objectives和resource costs
  2. 用于估计吞吐、片上buffer、片外存储读写次数的性能模型、
  3. 对应的设计空间探索&FPGA实现

2 卷积计算方法

如下图所示,PE数量为Pox * Poy * Pof,同时设定Tkx=Nkx、Tky=Nky、Tif=Nif,这样部分和可以直接累加

so that the partial sum can be consumed inside the MAC unit without saving in the buffer

同时设定Tix=Nix,Tox=Nox

To ensure that the DRAM accesses are from continuous addresses, the entire row of the feature map is buffered

这样变量只有Toy和Tof
在这里插入图片描述

3 性能模型

3.1 计算延时

每一层卷积的乘法数量是:
在这里插入图片描述
每一层卷积的计算周期数为:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这篇论文中,每层网络的输入输出都要存回片上,所以每层都有DRAM传输的时间

Since the dual buffering pipeline is only within one layer with the current design choice

所以这里一共有三种情况:

  1. 只有一个tile,一次就能计算所有的结果
  2. 多个tile,但权重全部缓存
  3. 多个tile,权重不能全部缓存
    在这里插入图片描述
    其他层的情况:
    在这里插入图片描述

3.2 片上缓存

输入特征图缓存:
在这里插入图片描述
权重缓存:
在这里插入图片描述
输出特征图缓存
在这里插入图片描述


  • 题目:Automatic Compilation of Diverse CNNs Onto High-Performance FPGA Accelerators
  • 时间:2019
  • 期刊:TCAD
  • 研究机构:亚利桑那州立大学Yufei Ma

1 abstract & introduction

**本篇论文的主要贡献:**基本就是在上面两项基础上的完善,包括

  1. 双buffer结构
  2. 增加concat层以支持GoogLeNet和Inception
  3. BN融合
  4. 补充了非常多的实验

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值