快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

永乐国际ag厅_震惊!FPGA运算单元可支持高算力浮点



Achronix立异的机械进修处置惩罚器(MLP)冲破传统FPGA运算瓶颈

作者:杨宇,Achronix资深现场利用工程师

跟着机械进修(Machine Learning)领域越来越多地应用现场可编程门阵列(FPGA)来进行推理(inference)加速,而传统FPGA只支持定点运算的瓶颈更加凸显。 Achronix为了办理这一大年夜逆境,立异地设计了机械进修处置惩罚器(MLP)单元,不仅支持浮点的乘加运算,还可以支持对多种定浮点数款式进行拆分。

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

图1 定点模式下的MLP框图

图2 浮点模式下的MLP框图永乐国际ag厅

斟酌到运算能耗和准确度的协调,今朝机械进修引擎中最常应用的运算款式是FP16和INT8,而Tensor Flow支持的BF16则是经由过程低落精度,来得到更大年夜数值空间。下面的表1是MLP支持的最大年夜位宽的浮点款式,表2阐清楚明了各自的取值范围。

表1 MLP支持的最大年夜位宽的浮点款式

表2 不合运算款式的取值范围

而且这彷佛也成为未来的一种趋势。今朝已经有不少钻研注解,更小位宽的浮点或整型可以在包管精确率的同时,还可以削减大年夜量的谋略量。是以,为了顺应这一潮流,MLP还支持将大年夜位宽乘法单元拆分成多个小位宽乘法,包括整数和浮点数。详见下表3。

值得留意的是,这里的bfloat16即Brain Float款式,而block float为块浮点算法,即当利用Block Float16及更低位宽块浮点款式时,指数位宽不变,小数位缩减到了16bit以内,是以浮点加法位宽变小,并且不必要应用浮点乘法单元,而是整数乘法和加法树即可,MLP的永乐国际ag厅架构可以使这些款式下的算力倍增。

表3是Spee永乐国际ag厅dster7t系列1500器件所支持的范例款式下的算力比较,可以看到,单片FPGA的浮点算力最高可达到123TOPS。

表3 Achronix的Speedster7t系列1500器件支持的范例款式的算力比较

下图3是MLP中FP24/FP16乘加单元的简化布局图,即一个MLP支持FP24/FP16的A永乐国际ag厅*永乐国际ag厅B+C*D,或者A*B,C*D。

图3 MLP中FP24/FP16乘加单元的简化布局图

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

图 4 块浮点乘加单元布局

这里斟酌浮点数序列块ai=mai∙2ea,浮点数序列块bi=mbi∙2eb,各序列块内均拥有相同的指数ea和eb。则

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

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

您可能还会对下面的文章感兴趣: