微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 都想吞下人工智能这个蛋糕,CPU/GPU/FPGA有何高招?

都想吞下人工智能这个蛋糕,CPU/GPU/FPGA有何高招?

时间:03-14 来源:行业报告研究院 点击:

渐逼近极限。单纯的卖CPU固然也能赚到钱,但只有研发更高端的芯片,形成自己领导者的形象,才能赚更多的钱,支撑公司的发展。

  

上述三个因素的同时出现,已经让英特尔发现,如果自己仍然只是安心的守着自己的CPU业务,很快就会面临巨大的危机,事实上在过去的一年里,利润下降、裁员的新闻也一直围绕在英特尔的身边,挥之不去。

  

因而英特尔十分渴望不要错过下一个深度学习的潮流,不过它缺乏自己最先进的人工智能研究,所以在过去的两年中疯狂地收购。2015年,英特尔用史无前例的167亿美元拍下了FPGA制造商Altera,2016年又相继兼并了人工智能芯片初创公司Nervana与Movidius。目前的英特尔正在试图将他们整合在一起。

  

6.Intel的产品布局

英特尔斥巨资收购Altera不是来为FPGA技术发展做贡献的,相反,它要让FPGA技术为英特尔的发展做贡献。表现在技术路线图上,那就是从现在分立的CPU芯片+分立的FPGA加速芯片,过渡到同一封装内的CPU晶片+FPGA晶片,到最终的集成CPU+FPGA芯片。预计这几种产品形式将会长期共存,因为分立器件虽然性能稍差,但灵活性更高。

  

如果简单的将英特尔对于人工智能的产品布局,可以分以下几层:

  

Xeon Phi+ Nervana:用于云端最顶层的高性能计算。

  

Xeon+FPGA:用于云端中间层/前端设备的低功耗性能计算。

英特尔下一代的FPGA和SoC FPGA将支持Intel架构集成,大致如下:代号为Harrisville的产品采用Intel 22nm工艺技术,用于工业IoT、汽车和小区射频等领域;代号为Falcon Messa的中端产品采用Intel 10nm工艺技术,用于4G/5G无线通信、UHD/8K广播视频、工业IoT和汽车等领域;代号为Falcon Mesa的高端产品采用Intel 10nm工艺技术,用于云和加速、太比特系统和高速信号处理等领域。

 

Core(GT):用于消费级前端设备的性能计算、图形加速。

  

Euclid:提供给开发者/创客的开发板,集成Atom低功耗处理器、RealSense摄像头模块、接口,可用做无人机、小型机器人的核心开发部件。

  

Curie:提供给开发者/创客的模块,其内置Quark SE系统芯片、蓝牙低功耗无线电、以及加速计、陀螺仪等传感器,可用做低功耗可穿戴设备的核心部件。

  

从产品线来看,包含了CPU与FPGA的异构计算处理器将是Intel盈利的重点。预计到2020年Intel将有1/3的云数据中心节点采用FPGA技术,CPU+FPGA拥有更高的单位功耗性能、更低时延和更快加速性能,在大数据和云计算领域有望冲击CPU+GPU的主导地位,而Intel的至强处理器Xeon +FPGA也将在2017年下半年量产。

  

7.Intel的痛点:生态不完善

FPGA对GPU的潜力在于其计算速度与GPU不相上下,却在成本和功耗上对GPU有着显著优势。当然,劣势也有,但是FPGA的潜力是非常明显的。作为一个想要推向市场的商品来说,FPGA最需要克服,也是最容易克服的问题是普及程度。

  

大部分PC都配有或高端或低端的独立GPU,对于个人进行的中小规模神经网络开发和训练来说,其实它们的性能已经基本足够。而FPGA却不是在电脑里能找得到的东西,而多见于各种冰箱、电视等电器设备及实验室中,因此想要搞到一块能用来开发深度学习的FPGA其实还挺麻烦的。不仅如此,FPGA的不普及还体现在以下三个方面:

  

OpenCL编程平台应用不广泛

即使GPU有着种种不足,它也不是能够轻易被取代的。从深度学习应用的开发工具角度,具备CUDA支持的GPU为用户学习Caffe、Theano等研究工具提供了很好的入门平台。自2006年推出CUDA以来,已有超过5亿的笔记本电脑、工作站、计算集群和超级计算机安装了支持CUDA的GPU。

  

如果FPGA想要攻占深度学习的市场,那么产业链下游的编程平台必不可少。目前较为流行的异构硬件编程的替代性工具是OpenCL。不同于CUDA单一供应商的做法,OpenCL对开发者开源、免费,这是一大重要竞争力。但目前来看,其获得的支持相较CUDA还略逊一筹。

  

实现硬件编程困难

除了软件编程的不普及之外,吸引偏好上层编程语言的研究人员和应用科学家来开发FPGA尤为艰难。虽然能流利使用一种软件语言常常意味着可以轻松地学习另一种软件语言,但对于硬件语言翻译技能来说却非如此。针对FPGA最常用的语言是Verilog和VHDL,两者均为硬件描述语言(HDL)。这些语言和传统的软件语言之间的主要区别是,HDL只是单纯描述硬件,而例如C语言等软件语言则描述顺序指令,并无需了解硬件层面的执行细节。

  

有效地描述硬件需要对数字化设计和电路的专业知识,尽管一些下层的实现决定可以留给自动合成工具去实现,但

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top