当前位置:首页 > 单片机 > 单片机
[导读] Peter认为,鉴于其高性能、易编程及低成本特点,GPGPU技术在许多情况下能够替代FPGA和DSP。尽管没有针脚,诸如图形处理器(GPU)和Tilera处理器等多核处理器在某些应用中正逐步替代现场可编程门陈列(FPGA)。开发人员表

 Peter认为,鉴于其高性能、易编程及低成本特点,GPGPU技术在许多情况下能够替代FPGA和DSP。

尽管没有针脚,诸如图形处理器(GPU)和Tilera处理器等多核处理器在某些应用中正逐步替代现场可编程门陈列(FPGA)。开发人员表示,GPU可用于执行多种功能,而非单纯的图形处理,从而成就了图形处理器通用计算(GPGPU)技术的出现,其中最为瞩目的便是 NVIDIA’s CUDA。当评估GPGPU、TILE或FPGA技术能否作为任何即定应用的首选时,需考虑(但不局限于)以下因素:

• 可用处理能力

• 延迟

• 可扩展性

• 开发成本

• 技术嵌入

• 价格

处理能力

处理能力的评估一定程度上取决于处理数据类型及处理算法。

由于GPU起初主要负责图形绘制,因此,其尤其善于处理单精度(SP)及(某种情况下)双精度(DP)浮点(FP)运算。Tilera的TILE设备当前不支持硬件FP运算,但要求进行软件模拟,且性能代价高昂。一般而言,FPGA亦是如此,设备通过利用多种资源来处理FP运算问题。达到可接受性能要求IP区块需消耗多个门并要求深流水线技术。例如:当前Tesla级GPU每秒最高可执行1012次浮点运算或1TFLOPS,而Xilinx Virtex-6设备则为150 GFLOPS。

当考虑到定点运算时,情况有所不同。新一代GPU在浮点速率相同的情况下可执行整数运算,例如:当Virtex-6设备提高至500GOPS时,GPU每秒可执行1012次运算或1TOPS。整数性能是TILE处理器的优势所在:8位数据时,TILE-Gx(图1)最高执行能力为750GOPS,32位数据时为188GOPS。



图1:8位数据时,Tilera的TILE-Gx处理器最高执行能力为750GOPS

在信号处理应用中使用定点处理会延长开发时间。在系统定义阶段时间进行诸多分析,进而能够测定各处理阶段的动态范围要求,并确保实际信号应用中无上溢或下溢现象发生。否则,开发人员需要在系统运行时使用额外资源来持续监控动态范围并调整区块比例因数。

无论从时间还是空间上讲,许多通用架构处理开销可能显著较大,因此,逐位运算尤为适用于FPGA。若在FPGA上执行逐位运算,则需要考虑开发时间。毋庸置疑,系统的实际可用处理能力在很大程度上可能会因理论峰值处理能力的不同而有所差异。影响该差异的两个主要因素包括硬件架构算法的适用性及优化执行能力所需时间。

例如:FPGA能够利用其并行及适应多种算法的特性来获得更加接近理论最大值的性能。但是,FPGA需要更大的硅片空间和更长的开发时间来接近这些理论最大值。对于适应于GPU硬件并行模式的算法,GPU已经能够达到峰值的20~30%。它们同样具有合理的硅密度(40nm工艺,32nm研发中)和开发时间(通常只有数周,而FPGA则需几个月)。TILEPro64处理器可提供FPGA相类似的适应性和GPU相类似的可编程性,但是,由于其粗糙的任务级问题分解特点使得其无法像FPGA和GPU那样实现细粒度并行。

内存带宽在评估处理器性能方面同等重要,GPU能够提供3倍于FPGA、6倍于TILEPro64的优势。但是,必须指明,该带宽须以下列条件为基础:出现的大延迟须通过交叉处理进行控制,应在最佳访问模式中通过整合实现接合访问。有了FPGA,开发人员需要充分考虑内存位置。新一代GPU和TILEPro64处理器具有传统的缓存分布,能够帮助优化内存位置并减少开发时间。

延迟

也许能够排除使用GPGPU的最可能因素便是延迟。例如:调用内核所需时间及主存储器较长访问时间均可引起长延迟。许多情况下,这种延迟可能会稍有缓解但是无法完全避免。因此首选应为大数据集处理,原因在于,其为大量运算,换言之,其具备较高的计算强度。在需要满足严格延迟要求的环境下(例如闭回路控制),FPGA为首选。TILE处理器具有良好的延迟特性,“裸机”模式下进行编程时尤为突出。

可扩展性

FPGA能够与诸如Aurora等低开销联接紧密耦合,或执行诸如Serial RapidIO或PCI Express等标准串行结构。GPGPU为协处理器,通常需要一个主处理器。如图2所示,许多GPU能够联接至一个单主处理器(首选多核)中,但是,当各主处理器核使用一个GPU时,共享资源会限制返回。

图2:GE智能平台加固型IPN250和NPN240能够使Intel多核主处理器管理多个NVIDA GT240 96核CUDA GPU

多联接GPGPU间执行代码的常用方法是使用OpenMP。该方法允许在并行线程中自动执行处理回路,且分别使用不同的GPU。在集群层面(主处理器+GPU[或多GPU])还可实现进一步扩展。该集群还可通过PCI Express、10G Ethernet、InfiniBand及其它联接进行联接,并且通过使用诸如MPI等中间件进行编程。

TILE处理器可通过多种网状结构实现核间高度连接,进而调整至不同的处理类型。TILE处理器多交换结构考虑到了核间通用低延迟IPC及核间内存一致性。设备与设备之间可通过10G以太网和PCI Express进行连接。整个设备或核心集群可编程为对称多处理设备。

开发成本

开发成本难以度量。从定性分析的角度,一般认为采用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支持多个摄像机数据流采集,从而实时生成全景图。

考虑到多核设备编程简单,及出色的处理能力、低廉的购置成本和与之相关的低廉开发成本,强烈建议将其用于先前主要采用可编程硬件阵列的应用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭