您的位置 首页 电子

怎么运用一个DSP block完成4个11位浮点型数据乘法运算

概述随着深度学习的发展,为了解决更加抽象,更加复杂的学习问题,深度学习的网络规模在不断的增加,计算和数据的复杂也随之剧增。INTEL FPGA具有高性能,可编程,低功耗等特点,为AI应用加速提

  概述

  跟着深度学习的开展,为了处理愈加笼统,愈加杂乱的学习问题,深度学习的网络规划在不断的添加,核算和数据的杂乱也随之剧增。INTEL FPGA具有高性能,可编程,低功耗等特色,为AI使用加快供给了一种灵敏、确认的低推迟、高通量、节能的处理方案。Arria10是INTELFPGA第一代集成IEEE754规范单精度硬浮点DSP block,可认为高杂乱度的深度学习算法供给高精度,高能效的乘法运算。

  深度学习算法杂乱度高,需求进行很多的乘法运算,如完成一个卷积核为5*5的特征提取,需求进行25*25次乘法运算,而跟着特征提取量的添加,乘法运算也将成倍的增加。因而乘法器资源是完成深度学习算法的重要评价资源,本文首要介绍怎么根据Arria10的一个18*18的乘法器完成两个11*11的浮点mini-fp运算,然后4倍进步DSP block资源。

  原理剖析

  Arria10可变精度的DSP Block支撑装备为两个18*18或许18*19定点乘法器,进行18*18乘法运算时,如图1所示,将输入拆分为低6位,中6位,高6位,进行运算剖析。

  图1 18*18乘法器运算

  则对应的运算成果如下表所示:

  将中6位输入全设为0,则能够得到对应的输出成果如下表所示:

  当高6位及低6位为带符号位的输入数据时,进行符号位提取,则剩下的实践数据有用位为5位,因而低6位*高6位及高6位*低6位的乘法成果最高有用位均为10位,进行两个成果的加法运算,能够确保成果在12-23位以内,不会对高6位*高6位乘法成果形成影响。因而Arria1018*18的乘法器支撑进行符号位提取后的两个6*6的乘法运算,图2是对应的仿真成果,乘法成果对应延时2个时钟周期。

  图2 modelsim 仿真成果

  浮点型数据如图3所示,包括符号位S,指数位E及尾数位M。

  图3 浮点型数据组合

  进行浮点型数据乘法运算,如图4所示。

  图4 浮点型数据乘法

  需求进行指数相加,尾数相乘,乘法成果取整及指数的调整。11位的浮点型数据尾数及指数各占5位,因而进行乘法运算仅需求进行包括符号位6位的数据相乘及对应的处理即可。Arria10的DSPblock可支撑装备为2个18*18乘法器,而一个18*18的乘法器能够完成两个6*6的乘法运算,因而一个DSPblock能够完成4个11位浮点型数据mini-FP的乘法运算。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部