FPGA|FPGA未来走向:在嵌入式领域仍占上风,能否作为深度学习加速器仍待观察,各家提供完整解决方案
观点来源:semiwiki的Kris Kachris
英特尔收购Altera
2015年6月1日,英特尔和Altera宣布已达成最终协议,英特尔将以167亿美元收购Altera。这对FPGA界来说是一个重要的里程碑,因为Xilinx和Altera是主要的FPGA厂商。
英特尔对FPGA发展的考虑
英特尔拥有丰富的硬件加速器组合,包括强大的Xeon处理器、GPU、FPGA和用于深度学习的ASIC。对于FPGA,英特尔的目标是推动在以下3个特定的市场的应用。
l 自然语言处理(BERT)
l 欺诈检测(LSTM)
l 智慧城市(推理)
可以看出,英特尔主要关注的是低延迟占重要作用的应用,而FPGA相比其他平台可以提供更低的延迟。不过这些针对深度学习应用的FPGA与基于Habana实验室等ASIC深度学习平台的差异化仍有待观察。英特尔以20亿美元收购了Habana实验室,因为他们在高性能深度学习推理和训练方面的技术。
AMD收购Xilinx
2020年10月底,在AMD正式宣布收购Xilinx之后,FPGA界对FPGA的未来发展非常关注。按照AMD的说法,收购Xilinx的主要目的是打造业界领先的高性能计算公司,“极大地扩展了AMD的产品组合和客户群的广度,横跨Xilinx已经成为领导者的不同增长市场”。
Xilinx公司的Alveo、VERSAL和VitisAI
Xilinx在3年前发布了一款功能强大的FPGA平台,名为Alveo。Alveo是Xilinx最初开发的第一块FPGA板,作为与GPU竞争的加速卡。在此之前,Xilinx主要是开发FPGA芯片,而FPGA卡则是依靠其他厂商提供的。随着Alveo卡(以及最近的Versal卡)的出现,Xilinx希望以自己的品牌提供一个强大平台作为加速卡。Xilinx围绕Alveo平台迅速建立了一个令人印象深刻的生态系统,其中包括一些公司利用Alveo卡的强大功能来加速机器学习、深度神经网络、数据库、自然语言处理、基因组学和量化金融领域的一些应用。Alveo卡的主要目标是为深度学习提供GPU的强大替代方案。
Xilinx还提供了一个集成的EDA工具(SDAccel,然后是Vitis),它允许用OpenCL和C/C++等高级编程语言对FPGA进行编程,而不需要使用VHDL或Verilog。这些工具允许软件开发人员在没有FPGA知识的情况下,也能开发自己的加速器(尽管使用OpenCL开发高效的硬件加速器需要对FPGA技术有深入的了解)。
NVIDIA、ARM和Mellanox
Nvidia也于近一个月前宣布打算以400亿美元收购ARM,“打造人工智能时代的世界顶级计算公司”。收购的原因之一是为了让Nvidia发展数据处理单元(DPU),包括:
l 软件可编程多核CPU(即ARM)
l 高性能网络接口(即SmartNIC/Mellanox)
l 丰富灵活可编程的加速引擎(即Nvidia GPU)。
FPGA的优势
FPGA的主要优点是支持量身定做的架构的可编程性,意味着可以更快适应新的算法或应用。这种竞争优势至关重要,特别是在工程师和数据科学家开发出新模型的深度学习领域。FPGA可以用新的定制模型/算法进行编程,与其他平台相比,可以提供更好的性能,特别是在需要比特位层次处理的应用中,如数据包处理、基因组学和比特币挖矿等。在深度学习应用中,FPGA可以提供更低的延迟和更高的性能,特别是在位数减少的情况下(如Xilinx FINN)。因此,FPGA似乎可以在新的处理生态系统中发挥重要作用,而不仅仅是用于SmartNIC应用。
FPGA的未来
经过相关的收购,我们正迈向异构数据处理平台时代,计算平台将包括SmartNIC、多核处理器和硬件加速器。英特尔、AMD和Nvidia将提供完整的计算平台,并提供各自专有的加速器和SmartNIC。这样做的好处可能是更容易部署和更好的集成,但选择各家最好的方案将不再可行,或者至少将更具挑战性(例如选择Xilinx的FPGA、IntelXeon处理器和Nvidia的GPU)。用户将不得不选择一个完整的解决方案,而不是混搭。
在任何情况下,为了使FPGA作为加速器平台具有吸引力,还需要提供所需的框架,使FPGA的部署变得简单和可扩展。这就是为什么需要一个厂商无关的框架,使FPGA的部署像GPU或CPU一样简单。
对于英特尔和AMD来说,很难在深度学习等领域推广FPGA,而其他平台将以自己的品牌名称提供。也许FPGA将主要用在主要收入市场(网络和电信,如vRAN和5G),而GPU、ASIC将被推广到深度学习领域。
在嵌入式系统领域,FPGA仍然可以占据上风。Xilinx和Intel都提供了带有ARM内核的基于SoC的FPGA,被广泛应用于嵌入式领域。Nvidia已经表示,仍将允许第三方使用ARM内核,因此Xilinx和英特尔将继续在其基于SoC的FPGA中使用ARM(直到他们也许在几年内改用RISC-V处理器)。
FPGA社区相当大的,且还在不断增长。一些会议,如FCCM、FPGA和FPL,表明有一个庞大的社区支持和促进FPGA的使用。然而,FPGA是否将继续作为通用加速器,或者其应用将更多地限制在网络和电信应用中,仍有待观察。