您的位置 首页 数字

震动!FPGA运算单元可支撑高算力浮点

随着机器学习(Machine Learning)领域越来越多地使用现场可编程门阵列(FPGA)来进行推理(inference)加速,而传统FPGA只支持定点运算的瓶颈越发凸显。 Achronix为了解

跟着机器学习(Machine Learning)范畴越来越多地运用现场可编程门阵列(FPGA)来进行推理(inference)加快,而传统FPGA只支撑定点运算的瓶颈越发凸显。 Achronix为了处理这一大窘境,创新地规划了机器学习处理器(MLP)单元,不只支撑浮点的乘加运算,还能够支撑对多种定浮点数格局进行拆分。

MLP全称Machine Learning Processing单元,是由一组至多32个乘法器的阵列,以及一个加法树、累加器、还有四舍五入rounding/饱满saturation/归一化normalize功能块。一起还包含2个缓存,分别是一个BRAM72k和LRAM2k,用于独立或结合乘法器运用。MLP支撑定点形式和浮点形式,对应下面图1和图2。

考虑到运算能耗和准确度的折衷,现在机器学习引擎中最常运用的运算格局是FP16和INT8,而Tensor Flow支撑的BF16则是经过下降精度,来取得更大数值空间。下面的表1是MLP支撑的最大位宽的浮点格局,表2说明晰各自的取值规模。

而且这好像也成为未来的一种趋势。现在已经有不少研讨标明,更小位宽的浮点或整型能够在确保正确率的一起,还能够削减很多的核算量。因而,为了适应这一潮流,MLP还支撑将大位宽乘法单元拆分红多个小位宽乘法,包含整数和浮点数。详见下表3。

值得注意的是,这儿的bfloat16即Brain Float格局,而block float为块浮点算法,即当运用Block Float16及更低位宽块浮点格局时,指数位宽不变,小数位减缩到了16bit以内,因而浮点加法位宽变小,而且不需要运用浮点乘法单元,而是整数乘法和加法树即可,MLP的架构能够使这些格局下的算力倍增。

表3是Speedster7t系列1500器材所支撑的典型格局下的算力比照,能够看到,单片FPGA的浮点算力最高可到达123TOPS。

下图3是MLP中FP24/FP16乘加单元的简化结构图,即一个MLP支撑FP24/FP16的A*B+C*D,或许A*B,C*D。

而以下的图4则是块浮点乘加单元结构。

这儿考虑浮点数序列块,浮点数序列块,各序列块内均具有相同的指数ea和eb。则(如下图)

image.png

不难看出,乘法单元的个数取决于尾数(即整数)位宽。

image.png

图1 定点形式下的MLP框图

image.png

图2 浮点形式下的MLP框图

image.png

图3 MLP中FP24/FP16乘加单元的简化结构图

image.png

图 4 块浮点乘加单元结构

Format FP Size FP Exponent Size Precision MLP Name Alternative Names
fp24 24 8 16 FP24
fp16 16 5 11 FP16 binary 16,half precision
bf16 16 8 8 BFLOAT16

bfloat 15.(brain float)

Not to be confused with

block floating point.

表1 MLP支撑的最大位宽的浮点格局

image.png

Format Bias Exp for inf Minimum Positive Maximum Positive
fp24 127 255 2(-126) 2128 – 2112
fp16 15 31 2(-14) 216 – 25=65504
bf16 127 255 2(-126) 2128 – 2120

表2 不同运算格局的取值规模

Data Type Matissa Size Exponent

Multipliers

/MLP

MLP Perf.

(GOPS)

int 3 3 n/a 32 12,2880
int 4 4 n/a 32 12,2880
int 6 6 n/a 16 6,1440
int 8 8 n/a 16 6,1440
int 16 16 n/a 4 1,5360
bfloat 16 8+hidden bit 8 2 7680
fp 16 12+hidden bit 5 2 7680
block float 3 3 up to 8 32 12,2880
block float 4 4 up to 8 32 12,2880
block float 6 6 up to 8 16 6,1440
block float 8 8 up to 8 16 6,1440
block float 12 12 up to 8 4 1,5360
block float 16 16 up to 8 4 1,5360
fp 24(8e) 15+hidden bit 8 2 7680

表3 Achronix的Speedster7t系列1500器材支撑的典型格局的算力比照

(四位数一个逗号是为了便利读数字,四位数加一个小数点即便万)

int size mult per block mult per MLP int format
3、4 16 32 signed magnitude
6、7、8 8 16 signed magnitude
16 2 4 2's complement

表4 MLP中乘法单元的个数与整数位宽的联系

如需了解更多产品细节,请拜访Achronix网站以获取产品资料,谢谢阅览!Achronix官网:www.achronix.com。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/124789.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部