编译:有条鱼
出品: 矿视界
一直以来,FPGA 的主要应用领域是电子工程。但当英特尔完成对 Altera(Altera 是最大的现场可编程门阵列制造商之一)的收购时,情况发生了一些细微改变。
英特尔对 FPGA 所蕴藏的潜力有着强烈的嗅觉和敏锐的洞察力,收购完成后,即刻开始帮助微软公司建立数据中心并利用云服务给亚马逊提供相关帮助。
但关于 FPGA 到底是什么,许多矿工可能仍然心存疑问。FPGA 有何优势?FPGA 有何劣势?FPGA 会在 GPU 挖矿阵营中脱颖而出,成为主角吗?此篇文章将会就以上矿工存疑问题,对 FPGA 进行一个概述。
1、何为FPGA?
FPGA 是一种比 ASIC 更容易制造的集成电路,不同于 ASIC 的是,FPGA 可重新进行电路设计和配置。对于 FPGA 矿工来说,这一点使得他们可以挖取多种算法支持的多个币种。
2、优劣势
01.延迟性
FPGA 最大的优势之一就是它极其微小的延迟。现场可编程门阵列具有极其微小延迟的原因在于,它无需依赖于通用 OS,也无需通过通用总线(例如 USB 或 PCI-Express)即可完成通信。
这对其他的硬件设备来说很难实现,即使是高质量的 CPU 也会有 50 微秒的延迟,但到了 FPGA 身上,这个时间会被缩短到 1 微秒。
具有极低延迟功能的现场可编程门阵列在需要微小延迟的场合中能大放异彩。比如,在喷气式战斗机的自动操作和高频算法交易中,我们都可以看到它的身影。
02.能效率
专用集成电路( ASIC )在单一算法的速度上相较于 FPGA 更胜一筹,但其进行较大规模机器集群的初始投资极高。FPGA 在数字货币挖矿方面优于 GPU,因为它们运行出色且极具能效率。
除了高能效运算的优点之外,FPGA 还具有一个优势——它的高效性无需主机运行来支持。
03.工程费
虽然 FPGA 在以上方面有较大的优势,但其用于配置和编程的费用却远远高于基于指令架构的 GPU。硬件电路通常使用诸如 VHDL 和 Verilog 之类的硬件描述语言( HDL)来编写。
而到了编程,则要使用多种编程语言之一(例如 Java,C,Python)来完成。
04.高层次综合(HLS)
高层次综合(HLS)是一种不断扩大的趋势,具体表现为可以使用常规编程语言(例如 Open CL 或 C ++)和高层次抽象对 FPGA 进行编程操作。
但撇开所有在编程方面取得的技术性进展与突破,FPGA 的编程至今仍是一项艰巨的工作。
除此之外,编译期也是现场可编程门阵列的一大缺点。举个例子,如果使用 Intel Open CL 编译器,则编译一个典型的 FPGA 程序需要 4 到 12 个小时。为了实现性能优化,程序员经常需要进行通宵编译。
05.连接性
我们反过头来看看 GPU,对于数据上的传输,它更依赖于 OS 和标准化总线(例如 USB 和 PCI -Express)。FPGA 则不依赖于这些参数,它们的优势就在于能够使用户以较小的延迟获得更高的带宽。
实际上,FPGA 可直连数据源,例如网络接口和传感器。
3.FPGA 和 GPU 的浮点数之争
为了使用诸如深度学习之类的高性能计算功能,用户只能高度依赖具有出色浮点性能计算能力的 GPU,而 FPGA 在浮点算法上的效率则略显低下。
在一般的浮点运算中,浮点单元需要大量资源并且必须由逻辑块组装而成。然而剧本到了 FPGA 上就变了,由于 FPGA 结构中已包含浮点单元,能效率可以因此得到显著提高。
虽然就目前的情况而言,先进的 GPU 比起 FPGA 具有更优能效,但在不久的将来,现场可编程门阵列肯定会在浮点计算方面赶超 GPU,获得这场能效计算之战的胜利。
4、结语
显而易见,FPGA 未来可期。当 FPGA 变得易于编程、缩短编译期且提高浮点计算能效时,GPU 很有可能被取代。