欢迎光临湖北鑫合欣官方网站 企业风采| 收藏本站| 公司文化| 联系我们
全国热线
18062095810

热点资讯

咨询热线:

18062095810

邮件: wangting@whhexin.com

电话:18062095810

地址: 湖北·武汉·鲁巷·华乐商务中心1006

Intel® Arria®10 FPGA中的硬核浮点DSP模块,意义何在?



随着5G 的部署如雨后春笋般涌现,FPGA也大放异彩。FPGA是具有精细粒度的密集流水线体系结构,在大计算量应用中,与DSP、CPU和GPU相比,FPGA的每瓦性能是最高的,可谓是“高性能计算加速器”,这意味着Intel® FPGA的性能和功耗效率比将在更多的应用上优于微处理器和GPU,非常适合用在高性能计算 (HPC)、科学和医疗成像等领域。

而以往的FPGA在进行浮点运算时,为符合IEEE 754标准,每次运算都需要去归一化和归一化步骤,导致了极大的性能瓶颈。因为这些归一化和去归一化步骤一般通过FPGA中的大规模桶形移位寄存器实现,需要大量的逻辑和布线资源。通常一个单精度浮点加法器需要500个查找表(LUT),单精度浮点要占用30%的LUT,指数和自然对数等更复杂的数学函数需要大约1000个LUT。因此随着DSP算法越来越复杂,FPGA性能会明显劣化,对占用80%~90%逻辑资源的FPGA会造成严重的布线拥塞,阻碍FPGA的快速互联,最终会影响时序收敛。

为解决以上问题,Intel® FPGA不断优化DSP模块体系结构和软件工具,其中Arria®10 系列的 FPGA率先集成了符合IEEE 754的硬核浮点DSP模块。同时该硬核浮点技术也应用在了Intel® Stratix® 10 等最新系列的FPGA和SoC芯片中。目前,Intel® Arria® 10和Intel® Stratix® 10器件中的硬核浮点DSP模块是业界领先的浮点解决方案的代表。

 

那Intel®在FPGA中提供硬核浮点DSP模块,有何重要意义呢?我们知道,DSP模块只占FPGA的1/10左右,但就是这1/10使得Arria 10器件可实现1.5 TeraFLOP (每秒浮点运算次数)的DSP性能,相当于性能最优的TI DSP。当该硬核浮点技术集成在14 nm Stratix 10 FPGA中时,DSP性能更是高达10 TeraFLOP。

图片

 

在Arria® 10和Stratix® 10器件中的硬核浮点DSP模块不仅提高了运算性能和资源效率,还可加快产品上市时间。

在提高运算性能方面,主要体现在三个方面:

1. 可节省逻辑资源的使用。采用Arria® 10和Stratix® 10器件中的硬核浮点DSP模块,FPGA系统克服了前述提到的限制性能的挑战。在过去,需要使用定点乘法器和FPGA逻辑来实现浮点运算功能,并需要大量布局布线,而之前Intel® V系列FPGA主频只有200~250MHz,而Arria® 10系列则达到了400~450MHz。此外,Altera的硬核浮点DSP几乎不使用现有FPGA浮点计算所需要的逻辑资源,并且,桶形移位寄存器可在硬核DSP模块中实现,就避免了使用宝贵的FPGA资源运行归一化和归一化函数。采用硬核浮点DSP模块内置这一创新体系结构,不仅节省了很多的逻辑资源,时序收敛或者fMAX要求也不再受限于次优布线,从而保证了使用80%至90%逻辑资源的FPGA仍能保持较高的fMAX性能。

图片

2. 硬核浮点的资源效率高。含在Arria® 10和Stratix® 10器件中的硬核单精度浮点DSP模块,是基于Inte®l创新的精度可调DSP体系结构的。传统的方法是使用定点乘法器和FPGA逻辑来实现浮点功能,而Intel®的硬核浮点DSP模块与此不同,几乎不使用现有FPGA浮点计算所需要的逻辑资源(下图),因此占1/10面积的DSP模块就可以轻松把计算搞定。这不仅节约了资源,还降低了功耗。Arria® 10和Stratix® 10器件还在FPGA业界实现了能效最高的浮点,每瓦分别是50 GFLOP和100 GFLOPS,极大地减少了以前进行浮点运算时所需要的逻辑和布线资源,从而大幅度降低了内核动态功耗。

图片

3. 提高了数字精度。硬核浮点DSP模块支持很多复数浮点运算,包括累乘法、加减法等,其浮点输出都符合IEEE 754标准,从而保证了在具有高分辨率要求的应用中其数值的一致性。过去FPGA实现浮点运算是在内部数据通路上使用二进制补码表示。在算法输入输出时,这一内部二进制补码表示与IEEE 754格式相互转换。这在解决桶形移位寄存器占用资源方面至关重要,但实际输出值与MATLAB/Simulink模型值相比会有所偏差。但是,在采用了Arria® 10和Stratix® 10器件中的硬核浮点模块后,实际输出值与Simulink模型显示的高度一致。

图片

在加快产品上市方面,FPGA中集成的硬核浮点DSP支持很多常见的DSP模型和仿真环境,可无缝实现优化浮点运算。在从军事领域的雷达到通信系统等各种应用中,Arria® 10和Stratix® 10器件为设计人员提供了更高效的设计,平均可将设计时间缩短6-12个月。一方面是因为不需要额外的转换过程。在前几代FPGA中要实现高性能浮点运算,需要进行转换,将浮点转换为定点,在FPGA中实现,在定点实现中分析、转换并验证浮点算法。这种转换过程一般步骤繁琐。此外,这一过程完成后,还需验证转换过程当中的准确率。如果设计方面有任何的修改或变化,都需要重新把这些流程再进行一遍,持续进行转换。另一方面是因为Intel®提供了易用的设计工具。Intel®优异的DSP设计工具包括为硬件设计人员、基于模型的设计人员提供的DSP Builder,以及为软件编程人员提供的面向OpenCL的软件开发套件(SDK)。利用这些工具,设计人员完全不需要浮点到定点的转换过程,相应地在实现过程中也不需要调试,在几分钟内就可以完成系统定义和仿真,直至系统实现。当使用DSP Builder或者面向OpenCL的SDK设计算法,设计人员能够将开发精力集中在算法定义和迭代上,而不是设计硬件,帮助他们缩短了开发和验证时间。

十多年前,FPGA厂商在FPGA芯片中集成了DSP模块, 正式向DSP芯片发起挑战。如今,随着工艺、集成度以及技术的发展,FPGA中的硬浮点DSP模块也都有了新的突破,比如Intel® Stratix® 10器件中的精度可调DSP模块支持定点运算和单精度浮点运算,可支持高性能DSP应用。

技术为我们提供了改变世界的工具,正是这些日新月异的技术革新与突破,不断为经济赋能,为生活添彩,让流动、迅捷而无处不在的计算驱动的智能互联世界指日可待!