FPGA的全称是现场可编程门阵列,最早是作为ASIC领域的半定制电路出现的。具有一定的可编程性,可以同时进行数据并行和任务并行计算,在处理具体应用时效率更明显。

高性能计算的浪潮“加速”

事实上,英特尔、紫光、浪潮等公司已经开始布局FPGA。早在SC2015大会上,浪潮就联合Altera和国内最大的智能语音技术提供商科大讯飞,共同发布了一套基于Altera Arria 10 FPGA深度学习的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有控制取数和解码的流程,可以处理各种奇怪的指令。

体系结构

相比之下,FPGA无法像CPU那样灵活处理各种未知指令,只能按照固定的模式处理输入数据,然后输出,这也是为什么FPGA经常被视为加文社会百科的专家专属架构。

FPGA架构

与CPU不同的是,FPGA和GPU的计算单元数量很大,所以计算能力很强。在进行神经网络运算时,两者的速度都会比CPU快很多。但是由于GPU的固定架构,硬件原生支持的指令是固定的,而FPGA是可编程的。

GaxPy算法性能对比(单位:微秒)(图片来自:程序员)

我们可以看到,FPGA的应用领域主要是深度学习和神经网络算法,而传统CPU更注重“通用”。GPU虽然更注重运算速度,但是指令还是固定的。FPGA的出现因其可编程性而风靡全球,这使得FPGA在深度学习领域具有独特的优势。谷歌为了发展深度学习,开发了自己的芯片TPU,这并不奇怪。正如谷歌数据中心负责人霍尔泽所说:谷歌开发自己的芯片,是为了解决其他省份试图解决的问题。

笔者认为,当市场需求发生变化时,技术也一定会随之发展。当深度学习成为热门领域,最匹配的FPGA也会成为厂商追逐的焦点。

发表评论

后才能评论