FPGA协处理技术介绍及进展
FPGA的架构使得许多算法得以实现,较之采用四核CPU或通用图形处理器(GPGPU),这些算法的持续性能更接近器件的峰值性能。随着对芯片、算法和库基础的集中改进,FPGA加速器的基准测试结果不断提高。就算当前最大的FPGA所消耗的功率也不到30W,因此它们可应用于多种场合。在目前出现的几大行业动态的共同作用下,FPGA实现的算法加速更加令人瞩目。这些行业动态包括:
● 当前FPGA的容量已足够容纳更大的算法。现在已经有可能将期权定价算法或1M点快速傅里叶变换放入FPGA。将算法从CPU中加载到FPGA的延迟时间小于算法加速所节省的时间。
● 单核CPU在功耗和冷却问题上受到了限制。采用多核CPU的尝试正在顺利进行,但现有为单核编写的软件必须进行重写,用以支持合理的性能扩展。
● FPGA协处理的主动式支持。在某些情况下,这些CPU接口(AMD公司的Torrenza Initiative与Intel公司面向FPGA厂商的注册FSB与QPI)支持8 GB/s的速率,写入等待时间低于140ns。
较之双核、四核CPU或GPGPU,FPGA基准测试结果显示了采用插槽式加速器的优异的蒙特卡洛浮点结果(见表1)。
就结果而言,运行频率为150~250 MHz之间的FPGA是如何做到优于运行频率为2~3 GHz的四核CPU或运行频率为1.35 GHz的128核GPU的呢?正如蒙特卡洛布莱克-斯科尔算法所示,FPGA架构具有独特的性能,这是产生这一优异结果的原因之一。
FPGA架构特征
灵活的FPGA可根据需要进行编程和重新编程。一个典型的FPGA包括一个逻辑块阵列、内存块和DSP块,它们周边环绕着可由软件进行配置的可编程式互连结构(如图1所示)。该架构确保下列特征的实现。
● 功能并行:功能的多次重复
● 数据并行:处理数据阵列或数据矩阵
● 流水化的自定义指令:每个时钟周期输出流数据的一个结果
● 超大的主缓冲带宽与规模:GPGPU的3~10倍
● 灵活的数据通路布线:巨型交叉连通在一个时钟周期内完成数据传输
● 功能和数据流的串联:均在一个时钟周期内完成
● 定制片外I/O:所需的协议、带宽和延迟
● 可扩展的路径图:更大的阵列具有充足的空间支持供电与冷却