1. Eyeriss v2: A Flexible Accelerator for Emerging Deep Neural Networks on Mobile Devices

作者:

Yu-Hsin Chen; Vivienne Sze_

机构:

MIT

Conf/Jour:

IEEE Journal on Emerging and Selected Topics in Circuits and Systems

时间:

2019

目录

Basis

Background

Method

分层网格NoC设计

SIMD支持的稀疏 (TODO)


Basis

Eyerissv1回顾:

一个memory和core分离的结构,通过总线进行通信。核内包含一个L1 memory(global buffer),整体控制模块(Top-level Control),数据的align(RLC),和核心运算矩阵:一个12x14的PE array。是一个典型的具有一定配置性的ASIC加速器。这样的PE array是一个扁平化的阵列,主要通过横纵向的控制流和数据流传递进行控制和数据交换,因此是一个简化的方案,每一个PE所具有的的存储和功能都比较有限,如果内部Spad空间不足,就需要访问外边的Global Buffer,这样的延迟就会比较大,对NOC的带宽也有较高要求。

Background

以往的加速器设计对于新兴的Compact、sparse的网络结构效果不佳,因为DNN层中的任何数据维都可以减小(因此输入和输出数据重用机会变小);

1)对于compact网络:Array和PE的利用率低,比如某些用于并行维度甚至小于array的高度。

2)对于sparse网络:难点包括不规则的数据存取、workload不平衡、PE利用率低。

Method

整体架构:

文献阅读 | Eyeriss v2

 

其中GLB和PE组成cluster,16 PE clusters +16 GLB clusters组成整体8*2的阵列。

片外数据或GLB中的数据先到达router,然后可以unicastlocal PEmulticast给同一行或一列的PE cluster,或广播给所有PE cluster

运行方式:每层网络,输入2134bit指令进行配置。

分层网格NoC设计

文献阅读 | Eyeriss v2

 

  • motivation

传统的NoC方式:

文献阅读 | Eyeriss v2

 

对于一种常见的Multicast权重和输入的设计,1个权重对应的不同输入来自于H/W,1个input对应的不同权重来自于Cout,kx和ky(kx ky是很小的),而其能挖掘到的并行度需要大于整个阵列的长或宽,否则,阵列就不能被充分利用。尤其是在紧凑网络中的depthwise层,输出通道是1个。

文献阅读 | Eyeriss v2

 

广播网络可以利用最多的数据重用性,但是当数据重用性较低时,它的低源带宽会限制吞吐量。 单播网络可以提供最大的源带宽,但会丢失可用的数据重用机会。 从两全其美的优势出发,将任何数据源连接到任何目的地的全方位网络(all to all)可以适应不断变化的数据重用和带宽需求。 但是,其设计成本会随着节点数量(例如PE)的增加而成倍增加,因此很难扩展到DNN加速器所需的并行度。

  • 分层网格NoC:

只有一个cluster内部的12个pe是all to all的,顶层也是网格状连接的(mesh),但是这样成本就由二次增加转变为了线性增加。对于传统卷积,深度卷积和全连接层分别会被配置为:

文献阅读 | Eyeriss v2

 

SIMD支持的稀疏 (TODO)

 

相关文章:

  • 2022-01-08
  • 2021-06-16
  • 2021-04-18
  • 2022-01-09
  • 2021-04-27
  • 2022-01-17
  • 2021-05-20
  • 2022-01-13
猜你喜欢
  • 2021-08-22
  • 2021-12-11
  • 2021-09-27
  • 2021-08-13
  • 2021-11-03
  • 2021-09-10
相关资源
相似解决方案