FPGA能取代GPU和CPU吗?为什么
扫描二维码
随时随地手机看文章
本文中,小编将对FPGA予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。
一、什么是FPGA
FPGA设计不是简单的芯片研究,主要是利用 FPGA 的模式进行其他行业产品的设计。 与 ASIC 不同,FPGA在通信行业的应用比较广泛。通过对全球FPGA产品市场以及相关供应商的分析,结合当前我国的实际情况以及国内领先的FPGA产品可以发现相关技术在未来的发展方向,对我国科技水平的全面提高具有非常重要的推动作用。 [2]
与传统模式的芯片设计进行对比,FPGA 芯片并非单纯局限于研究以及设计芯片,而是针对较多领域产品都能借助特定芯片模型予以优化设计。从芯片器件的角度讲,FPGA 本身构成 了半定制电路中的典型集成电路,其中含有数字管理模块、内嵌式单元、输出单元以及输入单元等。在此基础上,关于FPGA芯片有必要全面着眼于综合性的芯片优化设计,通过改进当前的芯片设计来增设全新的芯片功能,据此实现了芯片整体构造的简化与性能提升。
1、延迟
FPGA 的主要优势之一是延迟小。 具体来说,即使是非常好的 CPU 延迟也最多为 50 微秒,而 FPGA 可以达到 1 微秒。 在延迟方面,数字与 CPU 和 GPU 不同。 FPGA 延迟低的原因是,它独立于通用操作系统,并且无需通过通用总线(如 USB 或 PCI-Express)进行通信。
由于其低延迟功能,FPGA 用于需要极小延迟的情况,例如喷气式战斗机的自动驾驶和高频算法交易。
2、连接
CPU 和 GPU 通过标准化总线(如 USB 和 PCI-Express)连接到数据源,并将数据传递到应用程序,同时依赖于操作系统。 与此相对,FPGA可以直接连接到网络接口和传感器等数据源。这不仅减少了延迟,而且具有增加带宽的优点。
对于需要捕获和处理大量数据的场景,高带宽 FPGA 非常有用。 例如,射电天文学使用FPGA来简化数据管理,以处理传感器产生的大量数据。
3、工程成本
与基于指令的体系结构 CPU 和 GPU 相比,FPGA 的主要缺点是“编程和配置要困难得多”。 直到现在,FPGA 都是用 VHDL 和 Verilog 等硬件描述语言(HDL)编写的。对于使用 Java、C 和 Python 等编程语言进行编程,使用 HDL 进行编程所需的工程成本是巨大的。
近年来,通过使用OpenCL和C++等标准编程语言对FPGA进行编程,虽然出现了可以进行高抽象化的高电平Synthesis(HLS),但与基于命令的系统编程相比难度还是很高的。
另外,FPGA的编译时间长度也是一个很大的缺点。例如,使用Intel OpenCL编译器时,编译一般的FPGA程序需要4-12小时。为了优化性能,需要夜间编译。
4、能源效率
与 CPU 和GPU 相比,节能 FPGA 在逻辑和固定精度方面具有更好的能效。 因此,FPGA 在加密货币挖掘方面优于 CPU 和 GPU。 ASIC 优于 FPGA,但 ASIC 的缺点是初始投资在设计阶段很大。
除了在计算中实现高能效外,FPGA 还具有“无需启动和运行主机”的高效率。
在使用高性能计算(如深度学习)的情况下,现阶段严重依赖具有出色浮点计算性能的 GPU。 FPGA 在浮点运算中效率相当低,因为浮点单元必须从逻辑块组装,并且需要大量的资源。
然而,新的FPGA如Arria 10和Stratix 10,在能效方面有了相当大的改进,因为浮点单元内置于FPGA结构上。 具体比较的话,最尖端GPU的Tesla V100以250W的功率理论上是15TFLOPS,而采用Starix10的最尖端FPGA的Nallatech520C,以225W的功率实现9.2TFLOPS。虽然GPU的能效仍然很高,但考虑到Tesla V100是以12nm工艺制造的,而Stratix10是以14nm工艺制造的,其差距会进一步缩小。戴尔佩罗格表示,在不久的将来,FPGA可能会在浮点运算中的能效竞争中超过GPU。
上述所有信息便是小编这次为大家推荐的有关FPGA的内容,希望大家能够喜欢,想了解更多有关它的信息或者其它内容,请关注我们网站哦。