首页 >> 压滤设备

GE智能平台多核处理器可替代FPGA风力发电

山和机械网 2022-07-15 02:09:10

GE智能平台:多核处理器可替代FPGA

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

尽管没有针脚,诸如图形处理器(GPU)和Tilera处理器等多核处理器在某些应用中正逐步替代现场可编程门陈列(FPGA)。开发人员表示,GPU可用于执行多种功能,而非单纯的图形处理,从而成就了图形处理器通用计算(GPGPU)技术的出现,其中最为瞩目的便是 NVIDIA s CUDA。当评估GPG而且这类现象已屡见不鲜PU、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设备可升级至更多核的新产品而无需做出很大改动。例如,无论存在多少核,通过小型执行单元(内核)进行并行处理的方法都依然有效。在开发及运行时,工具链和驱动程序可分别使应用程序与硬件脱离。可同时调用成百上千的线程,运行这些内核。

mysql实战教程
企业级应用
大数据开发
友情链接