当前位置:首页 > EDA > 电子设计自动化
[导读]FPGA协处理技术介绍及进展FPGA的架构使得许多算法得以实现,较之采用四核CPU或通用图形处理器(GPGPU),这些算法的持续性能更接近器件的峰值性能。随着对芯片、算法和库基础的集中改进,FPGA加速器的基准测试结果不断

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:所需的协议、带宽和延迟

● 可扩展的路径图:更大的阵列具有充足的空间支持供电与冷却

显然,FPGA在并行化与流水化方面存在相当大的优势,同时与GPGPU相比,FPGA在主缓存与带宽方面也存在优势。在FPGA中,逻辑资源周围是存储器块。XDI模块具有一块带宽为3.8TB/s的3.3MB主缓存,这是nVidia 8800 GTX型GPGPU上主缓存(支持流处理器)的5~10倍。

FPGA的优势还在于,可以利用裕量连接带宽来灵活构建直达各逻辑块的数据通道和存储器访问通路。图1所示的可编程互连结构提供了大量的布线带宽。模块与电路板可根据FPGA输出带宽、存储器大小及延迟的需要进行设计,I/O端口可由用户自定义。

图1 FPGA的架构

最后,FPGA架构还拥有一个优势,它可扩展为更大型的逻辑块、存储器块与DSP块的阵列。逻辑与主缓存的大小是一起扩展的。现有最大的FPGA峰值功耗为30W,其FPGA架构有很多空间,可以在不超过现有数据中心功率和冷却限制的前提下,扩展为新的处理构型。

尽管FPGA架构具有许多出众的性能,一些性能必须共同发挥作用,才能提供优于CPU协处理的解决方案。

芯片与算法基础
大部分双精度浮点算法的加法与乘法操作比例大约为1:1。在FPGA中,加法运算使用逻辑资源,乘法运算使用DSP块,因此FPGA的逻辑资源与DSP块的比例必须均衡。FPGA的另一个特点是其可编程功率技术,该技术可针对所有逻辑块、DSP块与存储器块进行编程,根据设计的时序要求将其设定为高功耗或低功耗模式。
浮点运算核已经改进,可运行于更高的时钟速率,使用更少的DSP块和更少的逻辑资源。采用浮点编译器可减少不同浮点运算核之间用于连接64位数据通路的逻辑资源。

在一次浮点运算结束时,合并对浮点运算进行规格化处理(定点格式转换至浮点格式)的步骤,可以显著减少对后续浮点运算输入的去规格化处理(浮点格式转换为定点格式)。浮点运算的数学表达式的整个数据通路可熔接在一起,这会最多减少40%的逻辑资源并使时钟速率略有提高。

浮点运算的正确组合十分重要。如果算法有许多超越运算(求指数、求对数等),FPGA可配置所需要的数目。在GPGPU设计中,会增加一些硬模块实现上述函数,但比例比单精度浮点逻辑少得多。使用算法技巧、抽象硬件细节及针对个别FPGA资源的优化都需要函数库。

基于芯片、算法与库基础,图2的系统级解决方案涉及到了工具链、模块/板级设计、CPU接口以及采用合作公司专门技术的由CPU至基于FPGA的加速器的数据传输。

图2 FPGA加速系统级解决方案的基础

使持续性能接近峰值
对于可并行化或流水化的任务,相对于峰值性能而言,FPGA经常能够大大提高持续性能,并可利用各器件资源。以一个蒙特卡洛布莱克-斯科尔斯基准测试程序为例,它可建立一条运行频率为150MHz的等式流水线。

在每个时钟周期,FPGA通过梅森素数旋转核产生的随机数被输入(接入)“定制指令”,每个时钟周期产生一个结果。12条“定制指令”与模块的两片FPGA匹配,利用双精度浮点逻辑输出12×150M=1.8G结果/秒。通过额外倍频,可预期实现性能为上述性能的两倍。

对比不同架构的浮点能力持续性能与峰值性能十分有趣。表2给出了四种可能解决方案的单精度浮点峰值性能。由于布莱克-斯科尔斯公式需要常规加法与乘法函数以外更多的函数(指数、平方根等),布莱克-斯科尔斯结果的总GFLOPS未作统计。

表3给出了布莱克-斯科尔斯结果与峰值GFLOPS的比例,作为比较持续性能与峰值性能的一种相对衡量方法。相比峰值性能,FPGA达到了最佳持续性能。相比另外两种加速器的单精度逻辑,FPGA的双精度逻辑具有最优原始性能以及最优的“性能/瓦”参数。

对许多包含并行性或可流水化的算法而言,由于裕量连接带宽可实现用户自定义的数据通路,这样,逻辑可在一个时钟周期内访问存储器或访问另一个逻辑块的结果,从而使FPGA的持续性能可接近峰值性能。由于固定架构具备预先确定的用以实现不同功能的逻辑块集合,所以可以为FPGA配置支持某种给定算法的最优逻辑函数比例来实现器件资源的最佳利用。

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

联发科下一代旗舰芯片天玑9400的传闻近期在数码圈掀起了不少讨论。知名博主数码闲聊站爆料称,为确保天玑9400在性能和能效上占据优势,联发科深入参与了Armv9“Blackhawk黑鹰”CPU架构的设计,并指出这种新架构...

关键字: 天玑9400 CPU

Bourns® TLVR1005T 和 TLVR1105T 系列采用双绕组结构和低感值设计,可提供快速瞬态响应,并可依据 CPU、FPGA 和 ASIC 负载要求进行延展

关键字: 数据驱动 电感器 FPGA

对于大规模数据处理,最佳性能不仅取决于原始计算能力,还取决于高存储器带宽。 因此,全新 AMD Alveo™ V80 计算加速卡专为具有大型数据集的内存受限型应用而设计,这些应用需要 FPGA 硬件灵活应变能力以实现工作...

关键字: 自适应计算 FPGA

8b10b编码作为数字通信领域中的一项重要线路编码方案,其核心理念在于将每8位数据映射到10位编码中。这个映射过程严格按照特定规则进行,旨在保证编码中的电平转换足够,以维持信号的直流平衡,并提供足够的时钟信息,使接收端能...

关键字: FPGA 8b/10b编码 IC设计

在FPGA和IC设计领域,经常会面临一个挑战:多个端口同时竞争一个端口的数据。在这种情况下,采用RR调度策略可能是一种解决方案。

关键字: FPGA 嵌入式系统 IC设计

2024 年5月13日 – 专注于推动行业创新的知名新品引入 (NPI) 代理商™贸泽电子 (Mouser Electronics) 是英特尔®产品的全球授权代理商。英特尔®宣布正式成立Altera™,作为其独立运营的全...

关键字: FPGA 人工智能 以太网

5月11日消息,Arrow Lake、Lunar Lake还没有发布,Intel再下一代处理器Panther Lake的消息就传出来了,CPU方面没啥惊喜,GPU又一次要飞跃。

关键字: GPU CPU 芯片

Optiver通过包括EPYC CPU、Solarflare以太网适配器、Virtex FPGA和Alveo加速卡在内的高性能AMD解决方案搭建其业务基础

关键字: CPU 数据中心 以太网

利用LogiCoA™微控制器,以更低功耗实现与全数字控制电源同等的功能

关键字: 微控制器 电源 CPU
关闭
关闭