文献阅读(74)

  • 题目:Res-DNN: A Residue Number System-Based DNN Accelerator Unit
  • 时间:2019
  • 期刊:TCAS-1
  • 研究机构:伊朗德黑兰大学

1 缩写 & 引用

  • RNS: Residue Number System余数系统
  • BNS: binary number system

2 abstract & introduction

RNS的思路是把一个二进制表示的数用几个位宽更小的数表示,这样算乘加的话可以节省资源和能耗,但是过去的工作没有用RNS做符号检测、比较、scaling的
本篇论文的主要贡献:

  1. 提出了一个完全基于RNS的DNN架构
  2. 在各个模块用硬件实现了RNS操作
  3. 为row stationary提供一个高效的memory层次结构
  4. 用霍夫曼编码节省memory存储带宽

3 背景

3.1 余数系统

假设选取一组模 ( 3 , 5 , 7 ) (3, 5, 7) (3,5,7),则17可以表示成 ( ∣ 17 ∣ 3 , ∣ 17 ∣ 5 , ∣ 17 ∣ 7 ) = ( 2 , 2 , 3 ) (|17|_3, |17|_5, |17|_7)=(2, 2, 3) (173,175,177)=(2,2,3),即都用余数表示,这就可以表示从[0, 3x5x7)这么多的数
都用RNS表示之后,相加就是对应位置相加,相乘就是对应位置相乘
假设X=4,Y=23
在这里插入图片描述
好处是:可以用更小的位宽操作,而且可以很方便的并行

3.2 压缩算法

  • 游程编码
  • Lempel-Ziv77(LZ77)
  • 霍夫曼编码

3.3 相关工作

常用的除数有 { 2 n − 1 , 2 n , 2 n + 1 − 1 } \left \{ 2^n-1, 2^n, 2^{n+1}-1 \right \} {2n1,2n,2n+11} { 2 n − 1 , 2 n , 2 n + 1 } \left \{ 2^n-1, 2^n, 2^n+1 \right \} {2n1,2n,2n+1}
为了解决溢出问题,可以动态的调整除数

4 提出的架构

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值