你还没听过FPGA?那你一定是好久没有更新自己在企业级IT领域的知识了。今天笔者就和大家聊聊何为FPGA?FPGA主要应用场景是什么?有人说FPGA是替代传统 CPU 和 GPU 的未来,你信吗?
FPGA全称现场可编程门阵列(Field-Prog ram mable Ga te Array),最初作为专用集成电路领域中的一种半定制电路而出现的,具有一定的可编程性,可同时进行数据并行和任务并行计算,在处理特定应用时有更加明显的效率。
浪潮HPC“加速”
实际上, 英特尔 、紫光、浪潮等企业均已开始布局FPGA。早在SC2015大会上,浪潮就联合 Altera ,以及中国最大的智能语音技术提供商科大讯飞,共同发布了一套面向 深度学习 、基于Altera Arria 10 FPGA平台。
英特尔发布至强E5 2600 v4处理器
当然,最著名的应该就属英特尔豪掷167亿美元,收购Altera,这也是英特尔公司历史上最大规模的一笔收购。而英特尔收购Altera主要为的就是FPGA。而根据后来英特尔在IDF展会中展出的集成了FPGA芯片的至强E5 2600 v4处理器来看,167亿美元收购可谓物有所值:至强处理器在FPGA芯片的帮助下每瓦性能提升了70%。
紫光是另一家希望通过收购手段直接接触FPGA最新科技的公司,继寻求并购美光失利、收购硬盘大厂威腾(WD)破局后,紫光或将收购美国莱迪思半导体( Lattice Semiconductor)股份,为抢进FPGA市场做布局。
那么,FPGA吸引如此多厂商为之疯狂的原因究竟是什么?
从应用场景角度分析,我们可以看到随着谷歌的阿尔法狗打败了人类围棋冠军后,深度学习已经从神坛走下来,越来越多的人开始认识到深度学习可能会改变未来的生活,成为未来科技发展的方向;而FPGA设计工具使其对深度学习领域经常使用的上层软件兼容性更强,FPGA正是助力深度学习的一大技术。
但是,如果说FPGA是继任传统CPU与GPU的未来,就有些夸大其词。且不论CPU与GPU技术已经成熟,拥有完善的生态链,CPU与FPGA的结构也有所不同。CPU中拥有控制取指、译码等流程,处理可信具备处理各式各样千奇百怪的指令要求的能力;
CPU架构
相比之下FPGA就不能向CPU一样灵活的处理各种没有见过的指令,只能根据一个固定的模式来处理输入的数据然后输出,这也是为什么FPGA经常被看作一种行家专属的架构。
FPGA架构
不同于CPU的是,FPGA和GPU内都有大量的计算单元,因此它们的计算能力都很强。在进行 神经网络 运算的时候,两者的速度会比CPU快很多。但是GPU由于架构固定硬件原生支持的指令固定了,而FPGA则是可编程的。
GaxPy算法性能对比(单位:微秒)
我们可以看到,FPGA的应用领域主要是深度学习和神经网络算法,而传统的CPU更关注的是“通用”,GPU虽然更注重计算速度,但是其指令仍然是固定的。而FPGA的出现之所以风靡全球,就是因为其可编程性,这让FPGA在深度学习领域拥有了得天独厚的优势。这样也就不奇怪谷歌为了发展深度学习,自己研发了名为TPU的自有芯片。正如谷歌数据中心负责人霍尔泽所言:谷歌研发自有芯片是为了解决哪些省为解决的问题。
笔者认为,当市场需求发生变化,技术一定会随之发展,当深度学习成为热门领域时,与之最匹配的FPGA也应声成为厂商追逐的焦点。