首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

雷达信号处理:FPGA还是GPU?(2)

雷达信号处理:FPGA还是GPU?(2)

GPU和FPGA设计方法

GPU可以通过使用Nvidia专用CUDA语言或开放标准OpenCL语言来编程。这些语言在能力上非常相似,最大的不同在于CUDA只能用在Nvidia GPU上。

FPGA通常使用HDL语言Verilog或VHDL进行编程。这些语言的最新版虽然采用了浮点数定义,但都不太适合支持浮点设计。例如,在System Verilog中,短实数变量对应于IEEE单精度(浮点),实数变量对应于IEEE双精度。

DSP Builder高级模块库

使用传统的方法将浮点数据通路综合到FPGA的效率非常低,如Xilinx FPGA在Cholesky算法上使用了Xilinx浮点内核产生函数的低性能显示,。而Altera采两种不同的方法。首先是使用DSP Builder高级模块库,这是基于Mathworks的设计输入方法。这一工具支持定点和浮点数,支持7种不同精度的浮点处理,包括IEEE半、单和双精度实现。它还支持矢量化,这是高效实现线性代数所需要的。最重要的是,它能够将浮点电路高效的映射到目前的定点FPGA体系结构中,如基准测试所示,规模中等的28 nm FPGA,Cholesky算法接近了100 GFLOP.作为对比,在不具有综合能力的规模相似的Xilinx FPGA上,实现Cholesky相同算法,性能只有20 GFLOP.

面向FPGA的OpenCL

GPU编程人员较为熟悉OpenCL.面向FPGA的OpenCL编译意味着,面向AMD或Nvidia GPU编写的OpenCL代码可以编译到FPGA中。而且,Altera的OpenCL编译器支持GPU程序使用FPGA,无需具备典型的FPGA设计技巧。

使用支持FPGA的OpenCL,相对于GPU有几个关键优势。首先,GPU的I/O是有限制的。所有输入和输出数据必须由主CPU通过PCI Express?(PCIe?)接口进行传输。结果延时会让GPU处理引擎暂停,因此,降低了性能。

面向FPGA的OpenCL扩展

FPGA以各种宽带I/O功能而知名。这些功能支持数据通过千兆以太网(GbE)和Serial RapidIO?(SRIO),或直接从模数转换器(ADC)和数模转换器(DAC)输入输出FPGA.Altera定义了OpenCL标准的供应商专用扩展,以支持流操作。这种扩展对于雷达系统非常关键,数据能够从定点前端波束成形直接输出,支持浮点处理阶段的数字下变频处理,实现脉冲压缩,多普勒,STAP,动目标显示(MTI),以及图2所示的其他功能。通过这种方法,数据流在通过GPU加速器之前,避免了CPU瓶颈问题,从而降低了总处理延时。

图2.通用雷达信号处理图

即使与I/O瓶颈无关,FPGA的处理延时也要比GPU低很多。众所周知,GPU必须有数千个线程才能高效工作,这是由于存储器读取很长的延时,以及GPU大量的处理内核之间的延时。实际上,GPU必须有很多任务才能使得处理内核不会暂停等待数据,否则会导致任务很长的延时。

而FPGA使用了“粗粒度并行”体系结构。它建立了多个经过优化的并行数据通路,每一通路在每个时钟周期输出一个结果。数据通路的例化数取决于FPGA资源,但一般要比GPU内核数少很多。但是,每一数据通路例化的吞吐量要比GPU内核高得多。这一方法的主要优势是低延时,这在很多应用中都是关键的性能优势。

FPGA的另一优势是很低的功耗,极大的降低了GFLOPs/W.使用开发板测量FPGA功耗,表明Cholesky和QRD等算法是5-6 GFLOPs/W,而FFT等简单算法则是10 GFLOPs/W.一般很难进行GPU能效测量,但是,Cholesky的GPU性能达到50 GFLOP,典型功耗是200 W,得到的结果是0.25 GFLOPs/W,单位FLOP的功率比FPGA高20倍。

对于机载或车载雷达装备,系统体积、重量和功耗(SWaP)都非常重要。在未来的系统中,雷达工作很容易达到数十个TFLOP.总处理能力与现代雷达系统的分辨率和覆盖范围相关。

融合数据通路

OpenCL和DSP Builder都依靠“融合数据通路”这种技术(图3),以这种技术实现浮点处理,能大幅度减少桶形移位电路,支持使用FPGA开发大规模高性能浮点设计。

图3.采用融合数据通路实现浮点处理

为降低桶形移位频率,综合过程尽可能使用较大的尾数宽度,从而不需要频率归一化和去归一化。27×27和36×36硬核乘法器支持比单精度实现所要求的23位更大的乘法计算,54×54和72×72结构的乘法器支持比52位更大的双精度计算,这通常是双精度实现所要求的。FPGA逻辑已经针对大规模定点加法器电路进行了优化,包括了内置进位超前电路。
继承事业,薪火相传
返回列表