我是靠谱客的博主 飞快小白菜,最近开发中收集的这篇文章主要介绍FPGA知识汇集-GPGPU与FPGA,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

       虽然FPGA的功能很强大,但是并非所有的设计都会使用到这样的芯片。很多系统架构师在开始的时候会斟酌到底是使用FPGA还是其他的代替方案,例如GPGPU(通用的图形处理单元)。

       由于GPGPU特有的架构和处理能力,在很多现代的设计中越来越受欢迎。从金融业的微分方程求解,到MATLAB这样的专业仿真工具加速,以及高分辨率的医疗影像系统中,都能够找到GPGPU的身影。在NVIDIA的CUDA社区中,工程师利用CUDA GPGPU平台,开发了超过1500个应用。现在基于GPGPU芯片的应用逐渐做的风生水起,就连Amazon的网页服务器(AWS)也开始利用GPGPU来支撑其云计算能力。

       FPGA和GPGPU都能够处理各种高性能应用,事实上也很难预测到底谁能够替代谁,因为这和具体应用有关。计算密集型的软件应用程序常常选择GPGPU作为性能加速器,而PCIe总线是GPGPU板卡和主机相连接的唯一接口。GPGPU的片上内存或者板载存储空间也都较小。相对而言,FPGA的应用要广泛很多。除了作为软件应用程序的加速器之外,理论上它可以作为任何硬件接口,这得益于FPGA可完全自由分配的引脚。但FPGA唯一的不足就是价格比GPGPU昂贵。  

       鉴于上述的各种因素,系统架构师往往要考虑诸如接口总线、处理性能、处理延迟、系统成本等因素,才能够决定到底是使用FPGA还是GPGPU方案。

芯片接口

       最新的所有GPGPU板卡都是通过PCIE接口和主机通信,GPGPU板卡上PCIE的最高配置为Gen4×16,能够提供6.4GBps的有效载荷处理能力。这样的硬件配置对于大部分视频处理和需要GPGPU加速的应用来说已经足够了。当然对于少部分需要超高吞吐率的应用例外,比如多路网络处理应用常常就是高端FPGA的天下。

       FPGA的另外一个优势就是高度可自由配置的引脚。这些成百上千的引脚可以灵活地支持几乎任何的配置:从低端通用双向引脚(GPIO)到高速串行器/解串器(SerDes)等。

处理性能

       吞吐率或者处理性能,通常高度依赖于具体的应用。之所以FPGA和GPGPU能够从占据高性能计算的市场,其秘密就在于内部的并行架构。GPGPU擅长于执行单指令多数据(SIMD)这样的操作,而这刚好是数字信号处理、图像处理和视频处理中最常见的操作。但是对于需要复杂的控制流、大存储空间这样的应用,GPGPU的高性能将会大打折扣。FPGA和GPGPU很相似,也适合计算密集型的高性能处理。

处理延迟

       FPGA的并行处理架构所带来的低延迟特性特别适合于实时信号处理,这种应用的响应时间一般要求小于1ms甚至更低。常年的实时信号处理应用有:计算高速信号链路上的TCP/IP校验和(千兆以太网、万兆以太网,甚至更高)。快速加解密系统,或者实时武器系统。

       由于芯片架构的限制,GPGPU的处理延迟要比FPGA大的多。其他的一些限制来源于连接GPGPU板卡和主机的PCIE接口延迟,以及存在于GPGPU板卡和主机的内存访问延迟。

价格

       单芯片的价格一直是难以逃脱的话题,特别是在FPGA和GPGPU的比较过程中,但实际上这是个误区。系统中高端FPGA芯片动辄几千美金的价格确实很高,但实际上整个系统的开发成本并不是简单的由FPGA芯片来决定,应用程序的开发时间实际上占用了很大一部分,特别是再GPGPU芯片中部署一些复杂而高性能的设计时,更加需要专业的技能和长期的经验,而寻找能够同时胜任FPGA和GPGPU方面的人才几乎难以企及。

       因此简单地利用芯片价格去计算整个项目地开发成本是非常不准确的。也许最好也是最有效的评估方式就是采用原型验证,简单来说就是将原来在 GPGPU上运行的程序移植到FPGA上运行,或者将FPGA上运行的程序移植到GPGPU上运行。

关于FPGA得选型过程,关注公众号会有详细介绍。

国产化FPGA开发板-国产化复旦微电子 FMQL45T900 FPGA开发板

请关注链接:

国产化复旦微电子 FMQL45T900 FPGA开发板( 替代Xilinx ZYNQ ARM+FPGA 7045开发板)

更多有趣的话题请看链接:

FPGA知识汇集-FPGA项目开发包含那些任务?

FPGA知识汇集--FPGA结构(1)

FPGA的应用

FPGA知识汇集-在命令行模式下使用Xilinx工具

FPGA知识汇集-ISE的这些有用的工具您知道吗?

FPGA知识汇集-FPGA设计开发需要熟悉哪些EDA工具呢?

FPGA知识汇集-值得收藏的FPGA代码命名规范?

FPGA 知识汇集--Linux下ISE的环境变量设置

FPGA知识汇集-值得收藏的Verilog代码风格1

FPGA知识汇集-值得收藏的Verilog代码风格2

FPGA知识汇集-编写可综合代码(RTL)需要注意的规则总结

FPGA知识汇集-Verilog和VHDL的混合使用

FPGA知识汇集-关于Xilinx 工具报告

FPGA知识汇集-例化与推译

硬件仿真加速器与原型验证平台

最后

以上就是飞快小白菜为你收集整理的FPGA知识汇集-GPGPU与FPGA的全部内容,希望文章能够帮你解决FPGA知识汇集-GPGPU与FPGA所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部