多核处理器可替代FPGA
时间:03-04
来源:互联网
点击:
开发成本
开发成本难以度量。从定性分析的角度,一般认为采用C或C++的多核设备编程要比FPGA编程简单。而且大家普遍认为找到合格的多核设备编程工程师要比招募FPGA 设备的VHDL或Verilog编程人员更加容易。由于开发人员须同时优化硬件和算法(软件),因此需要多种技能,才可使FPGA接近理论性能。在多核情况下,因为硬件已经确定,开发人员可专注于算法开发和优化(仅软件)。
量化该差别是个难题。一种方法是考虑软件规模即代码行(SLOC)多少。这种方法根据算法不同而会有所差异,但多核处理器代码行少于三分之一的现象并不少见。使用更高级的比较方法会使情况变得模糊——如GPGPU采用MATLAB,FPGA编程采用Agility-C或MATLAB系统生成器等。
单单SLOC并不能精确代表开发成本。许多推动软件开发生产率发展的工具和语言创新,如集成开发环境、调试器、测试覆盖率生成和面向对象编程都在对FPGA开发产生影响——但还有很长的路要走。此外,开箱即用的FPGA开发由于较长的综合及布局、布线时间、较低的处理器状态透明度以及可能耗时很久的仿真时间等因素,并不具有最快的软件测试和修改周期。这些问题有相应的解决方案,但都需要额外的投资。
技术嵌入
在应用层面,GPGPU设备可升级至更多核的新产品而无需做出很大改动。例如,无论存在多少核,通过小型执行单元(内核)进行并行处理的方法都依然有效。在开发及运行时,工具链和驱动程序可分别使应用程序与硬件脱离。可同时调用成百上千的线程,运行这些内核。
单个二进制数可运行在具有不同核数量的不同设备上。多数情况下,这可以最大程度简化到新平台的移植。
与此类似,编写的TILE处理器的SMP应用,可在添加了新设备时,自动适用于更大的核数量。
相比之下,将FPGA应用移植到新设备上时,即使算法保持不变,也需要对硬件表达式代码进行大量修改,以适应不同的目标平台。
价格
商用级GPGPU板(图3)的售价可低至$50,而针对超级计算应用的最新GPGPU板的售价则为$4000。含有高端Virtex-6 的FPGA板的售价可能在$4000左右。Tilera板由于其针对性更强,售价会高的多。这三种型号的加固产品由于具有更小的体积、更好的板构造技术、更严格的检测和筛选,因此价格高出许多。例如,完全加固、传导冷却的GPU板售价可在$7000左右。此类板针对军事/航天应用需求,原因是商用级板无法适应恶劣环境下的环境压力,同时也不具备长期项目所需的长使用寿命。
图3: NVIDIA的支持CUDA技术的GeForce GT130M即为GPGPU技术的廉价入门级产品
结论
对于很多应用来说,FPGA在处理能力以及延迟方面的性能仍然无可比拟。但仍有许多应用场合应考虑使用多核设备。由于其定点性能,可考虑直接使用TILE处理器替代FPGA。GPGPU更加擅长浮点运算,因此可考虑将其用于替代FPGA,或作为FPGA的补充。
多核处理器与传感器靠的更近,这种模块可能不久就将面市 – 这些设备紧靠在模数转换器(ADC)后面即FPGA原先所处的位置。原先从带有AltiVec的PowerPC等通用处理器(GPP)改换至FPGA阵列的一些应用现在开始移植到多核架构上。例如,医疗成像设备如计算机断层扫描(CT)和磁共振显像现在采用GPGPU来成像。
目前混合采用FPGA和GPP的雷达系统正在评估使用GPGPU的可行性,以便降低处理子系统的尺寸、重量和功耗(SWaP),从而使其可部署在UAV等较小的平台上,或提升相同占位面积的处理能力。360度态势感知等一些先前使用专门硬件的成像应用如今采用TILE处理器和GPU来采集多个摄像机数据流,然后经过变形、拼接,从而显示全景图(图4)
图4: GPGPU支持多个摄像机数据流采集,从而实时生成全景图。
考虑到多核设备编程简单,及出色的处理能力、低廉的购置成本和与之相关的低廉开发成本,强烈建议将其用于先前主要采用可编程硬件阵列的应用。
开发成本难以度量。从定性分析的角度,一般认为采用C或C++的多核设备编程要比FPGA编程简单。而且大家普遍认为找到合格的多核设备编程工程师要比招募FPGA 设备的VHDL或Verilog编程人员更加容易。由于开发人员须同时优化硬件和算法(软件),因此需要多种技能,才可使FPGA接近理论性能。在多核情况下,因为硬件已经确定,开发人员可专注于算法开发和优化(仅软件)。
量化该差别是个难题。一种方法是考虑软件规模即代码行(SLOC)多少。这种方法根据算法不同而会有所差异,但多核处理器代码行少于三分之一的现象并不少见。使用更高级的比较方法会使情况变得模糊——如GPGPU采用MATLAB,FPGA编程采用Agility-C或MATLAB系统生成器等。
单单SLOC并不能精确代表开发成本。许多推动软件开发生产率发展的工具和语言创新,如集成开发环境、调试器、测试覆盖率生成和面向对象编程都在对FPGA开发产生影响——但还有很长的路要走。此外,开箱即用的FPGA开发由于较长的综合及布局、布线时间、较低的处理器状态透明度以及可能耗时很久的仿真时间等因素,并不具有最快的软件测试和修改周期。这些问题有相应的解决方案,但都需要额外的投资。
技术嵌入
在应用层面,GPGPU设备可升级至更多核的新产品而无需做出很大改动。例如,无论存在多少核,通过小型执行单元(内核)进行并行处理的方法都依然有效。在开发及运行时,工具链和驱动程序可分别使应用程序与硬件脱离。可同时调用成百上千的线程,运行这些内核。
单个二进制数可运行在具有不同核数量的不同设备上。多数情况下,这可以最大程度简化到新平台的移植。
与此类似,编写的TILE处理器的SMP应用,可在添加了新设备时,自动适用于更大的核数量。
相比之下,将FPGA应用移植到新设备上时,即使算法保持不变,也需要对硬件表达式代码进行大量修改,以适应不同的目标平台。
价格
商用级GPGPU板(图3)的售价可低至$50,而针对超级计算应用的最新GPGPU板的售价则为$4000。含有高端Virtex-6 的FPGA板的售价可能在$4000左右。Tilera板由于其针对性更强,售价会高的多。这三种型号的加固产品由于具有更小的体积、更好的板构造技术、更严格的检测和筛选,因此价格高出许多。例如,完全加固、传导冷却的GPU板售价可在$7000左右。此类板针对军事/航天应用需求,原因是商用级板无法适应恶劣环境下的环境压力,同时也不具备长期项目所需的长使用寿命。
图3: NVIDIA的支持CUDA技术的GeForce GT130M即为GPGPU技术的廉价入门级产品
结论
对于很多应用来说,FPGA在处理能力以及延迟方面的性能仍然无可比拟。但仍有许多应用场合应考虑使用多核设备。由于其定点性能,可考虑直接使用TILE处理器替代FPGA。GPGPU更加擅长浮点运算,因此可考虑将其用于替代FPGA,或作为FPGA的补充。
多核处理器与传感器靠的更近,这种模块可能不久就将面市 – 这些设备紧靠在模数转换器(ADC)后面即FPGA原先所处的位置。原先从带有AltiVec的PowerPC等通用处理器(GPP)改换至FPGA阵列的一些应用现在开始移植到多核架构上。例如,医疗成像设备如计算机断层扫描(CT)和磁共振显像现在采用GPGPU来成像。
目前混合采用FPGA和GPP的雷达系统正在评估使用GPGPU的可行性,以便降低处理子系统的尺寸、重量和功耗(SWaP),从而使其可部署在UAV等较小的平台上,或提升相同占位面积的处理能力。360度态势感知等一些先前使用专门硬件的成像应用如今采用TILE处理器和GPU来采集多个摄像机数据流,然后经过变形、拼接,从而显示全景图(图4)
图4: GPGPU支持多个摄像机数据流采集,从而实时生成全景图。
考虑到多核设备编程简单,及出色的处理能力、低廉的购置成本和与之相关的低廉开发成本,强烈建议将其用于先前主要采用可编程硬件阵列的应用。
FPGA DSP Xilinx VHDL Verilog 仿真 传感器 ADC 相关文章:
- 一种基于FPGA的接口电路设计(11-18)
- 利用Virtex-5 FPGA实现更高性能的方法(03-08)
- 设计性能:物理综合与优化(04-28)
- 使用 PlanAhead Design 工具提高设计性能(04-28)
- 采用灵活的汽车FPGA 提高片上系统级集成和降低物料成本(04-28)
- 面向 FPGA 的 ESL 工具(04-29)