多核处理器可替代FPGA
时间:03-04
来源:互联网
点击:
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进行连接。整个设备或核心集群可编程为对称多处理设备。
尽管没有针脚,诸如图形处理器(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进行连接。整个设备或核心集群可编程为对称多处理设备。
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)