FPGA是否可以脱离CPU独立部署
2019-08-15
作为一种硬件可重构的体系结构,FPGA经常被用作专用芯片(ASIC)的小批量替代品,随着全球数据中心的大规模部署,以及人工智能应用的落地,FPGA凭借强大的计算能力和高度的灵活性有了更多的用武之地。
FPGA最大的优势就是处理速度快,因为引脚比较多,而且其逻辑单元可以根据算法需求重组而产生定制化的数据通路,非常适合处理大批量的数据流。
简单来说,CPU中有控制取指、译码等流程,数据处理流程复杂;而FPGA是可编程的,每个逻辑单元的功能在重编程(烧写)时就已经确定,不需要指令。其实FPGA和GPU内都有大量的计算单元,计算能力都很强,但是GPU在数据处理过程中,需要反复调取片外存储器中的数据,FPGA只要数据一次性流入再流出,算法就完成了,因此在批量数据处理方面,FPGA完胜。
正是因为数据处理的优势,FPGA在数据中心加速和AI推理中成了香饽饽,销量大涨,2018年全球FPGA市场达到了60亿美金,MRFR预测FPGA在2025年有望达到约125.21亿美元,Xilinx也预估数据中心对芯片的需求在未来五年将有67%的年复合增长率。
FPGA是否能够独立部署?
虽然FPGA有很强的计算能力,但是在数据中心都是和CPU协同工作,采用“CPU+FPGA”的异构架构进行加速。随着FPGA应用范围的增加,业内有人也提出,未来FPGA是否会脱离CPU独立部署?
计算存储架构
赛灵思数据中心业务部产品规划和市场营销总监Jamon Bowen在接受与非网记者的采访中,用一个应用案例做了解释,“这是合作伙伴开发的一个存储盒的解决方案,采用了Alveo U50,其前端是以太网,后端是固态硬盘,其中加速IP和存储几乎是放在了同一个空间里,有意思的是这个系统没有CPU,是加速器和外围直接连到网络上,所以未来数据中心会被异构计算驱动,没有必要和这个系统连在同一个地方,也就是因为执行的处理器的高性能,深度学习、存储、加速等就没有必要进行本地连接,可以做异地系统连接,这也预示着未来数据中心一个布局的趋势。”
在终端,有些自动驾驶公司的车上系统中就采用了FPGA 完成一些实时检测识别任务。小鹏汽车的副总裁、机器学习专家谷俊丽女士曾经提到,FPGA 可以凭借信号处理和低能耗方面的优势,成为一个可靠的第二系统,在汽车的第一系统出现失误的时候,作为安全模式介入进来。
FPGA需要克服的难题
面对未来的大好前景,FPGA厂商自然喜笑颜开,但是FPGA想成为主流,也要克服更大的挑战。
针对浮点运算,FPGA的计算速度似乎还难以超越GPU。英伟达的Tesla V100 ,在理论上最大运算速度可达15 TFLOPS(万亿次浮点运算/ 秒);搭载英特尔Statix 10的Nallatech 520C,理论最大运算速度为9.2 TFLOPS,功耗约为225 瓦特。英伟达曝光的最新Quadro GV100,能够提供高达每秒7.4万亿次的双精度浮点运算性能以及每秒14.8万亿次的单精度浮点运算性能和每秒118.5万亿次的深度学习浮点运算性能,从这一点来看,FPGA追赶GPU还需要一些时日。
另外,FPGA开发工程师反应,基于FPGA做设计的编译时间很长,几乎占到整个工程的80%,而且每次只要修改其中一个参数都需要重新编译,造成了调试效率很低,这也成为FPGA走向主流的一大障碍。