异构计算=将来?一文带你秒懂3大主流异构

戳蓝字“CSDN云计算”关注咱们哦!程序员

640?wx_fmt=jpeg

技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,通通不在话下!算法


做者:Pasca编程

来源:蛋蛋团(ID:dandan_tuan)小程序


640?wx_fmt=png 640?wx_fmt=png

本文旨在梳理和科普,让读者了解异构计算的基本概念和其中不一样异构计算方案的侧重点,更多资讯请关注蛋蛋团(ID:dandan_tuan)。服务器


大纲微信

1、传统计算的困境网络

2、异构计算的崛起架构

3、”厨房论“异构计算框架

4、总结机器学习


640?wx_fmt=png



1、传统计算的困境


广为流传的摩尔定律(英特尔(Intel)创始人之一戈登·摩尔提出)代表:每24个月会将芯片的性能提升一倍。


后来,另一个英特尔首席执行官大卫·豪斯(David House)提出:预计18个月会将芯片的性能提升一倍。


640?wx_fmt=jpeg


尽管到目前为止,芯片的发展经历一次次的性能提高。但随着互联网的爆炸式发展和信息化的普及。以及近几年兴起的诸如机器学习、深度学习、人工智能、工业仿真等对计算性能的需求极高的领域崛起后,已经远远超过了传统CPU处理器的除计算性能瓶颈,出现了诸多如并行度不高、带宽不够、时延高等限制。


640?wx_fmt=png

来源网络,CPU和GPU的发展趋势对比,)


如上图,GPU的发展比CPU更为迅猛,每一代制程缩减直接带来更多的核心数,同时,GPU 每一年有大约40% 的性能提高。


传统CPU芯片计算能够叫同构计算,也能够叫通用计算,设计之初,更多的是注重控制。而GPU设计做为协处理器只为处理CPU难以负载的大量并行计算。


而CPU占据70%的部分晶体管是用来构建Cache还有一部分控制单元,负责逻辑算数的部分并很少。GPU整个就是一个庞大的计算阵列,适合作大量密集型计算类型,就好游戏爱好者,若是想要体验画质更高的游戏画面,就必须买更好GPU的显卡。


总结一下,CPU负责逻辑性强的事物处理和串行计算,GPU则专一于执行高度线程化的并行处理任务(大规模计算任务)。


640?wx_fmt=jpeg

(来源网络,CPU和GPU架构比较)


通俗一点,CPU比如于笔,你能够拿他画你任何想画的东西。而GPU比如于打印机,打印确定更快,可是须要CPU的协同。


2、异构计算的崛起



640?wx_fmt=jpeg



在普通服务器领域亦如此,针对机器学习、深度学习、人工智能、工业仿真等领域,异构计算平台已经成为新宠,而在异构计算江湖中,也是群雄鼎力,存在着三大不一样的流派。


CPU+GPU流派、CPU+FPGA流派以及CPU+ASIC流派。


640?wx_fmt=jpeg

首先咱们来说个小故事,通俗易懂的了解这些流派。


3、”厨房论“异构计算


上文也说了,同构计算或者说通用计算性能的发展已经远远跟不上应用的需求,如近几年的国内的天河2A和神威超算都属于异构超算,接下来几年研发的超算也都属于异构超算,可见,异构超算已经成为中美两国超算领域的趋势。


这里咱们引用网上的一个经典“厨房论”异构计算。


在饭店的厨房,一般会有一个大厨(CPU),它会作各类菜(兼容性极好),可是若是作菜以前的大量重复动做(洗菜、切菜)致使它一天作菜的份数明显减小。

而且,因为最近(人工智能时代到来)客人点菜要求愈来愈高(花样菜式),大厨开始不堪负重。


640?wx_fmt=jpeg

640?wx_fmt=jpeg


原本顾客大多要的「炒白菜」,如今一个个都想吃「开水白菜」。


一道是家常菜,一道是国宴菜。然然后者复杂程度(大量数据复杂处理)远远不是前者所能比较。


因而,大厨想着,一大菜我一个作着麻烦,可是我能够请个帮手(协处理器)。好比在切菜方面,这个帮手能够同时处理不少菜品(并行计算),并且很熟练,速度很快(低延时)。


因而,一个负责切菜,一个负责作菜,分工明确。固然,大厨挑选这个帮手也是精挑细选,主要体如今如下方面:


  1. 多样的菜品处理能力,如洗菜切菜一体化(算法性能)——协处理器须要能全面支持须要用到的场景关键算法。

  2. 支持同时、快速加工(数据并行和低延时处理能力)——协处理器须要有大量并行通道,且每一个通道支持低延时的数据处理。

  3. 便于大厨操做和菜品存取(接口性能)——和主处理器很方便的数据交互

  4. 学习能力强,新菜式也能学会(配置灵活)——协处理器能够针对计算需求升级迭代

  5. 一天别吃太多(功耗低)——协处理器更低的功耗意味着更低的运行成本,更小的空间占用和更简单的热处理方案。


GPU:手脚麻利可是比较笨的帮厨


CPU和GPU都属于通用处理器,可是和CPU同样,都有一个很大的缺点,CPU和GPU的代码都存在Memory这个“菜谱”中,须要通过取指令,译码,而后才能执行指令。在这个流程中,取指令,译码会开销额外的时间,下降了数据处理速度。

640?wx_fmt=png

若是说CPU大厨形容为“头脑发达(控制电路多),四肢简单(计算电路少),那么GPU帮厨正好相反。


在GPU中,硬件资源被大量用做逻辑运算单元(ALU),小部分用做控制电路。这为大规模的数据并行处理提供了基础。


因而,当这个帮厨(GPU)被使唤去切菜洗菜时,手脚很是麻利,完成的又快又好。可是若是你让这个帮厨(GPU)去作“土豆切丝,洋葱切片,南瓜雕花……”,可能就没有那么利索了。


这是由于,复杂的控制流程会产生大量的分支(如编程语言中的case和if else),而GPU中一个控制单元要负责好几个计算单元。因此,若是要最大程度地使用GPU,势必要求控制分支越少越好。


FPGA: 功能多变的万能料理机


在厨房中,有一种厨具我相信有不少人都会喜欢,大厨也喜欢,那就是料理机。


有了料理机,大厨终于有能够节省了大量的时间来包饺子了,使用料理机处理肉馅便可。同时,当有须要制做果汁、豆浆时,也可使用料理机,做为一款多功能料理机,能够知足大厨的多种需求。


640?wx_fmt=png


FPGA做为一种高性能、低功耗的可编程芯片,中文名叫作”现场可编程门级列阵“。


最耀眼的词语:可编程。


这也意味着,今天能够切土豆丝,明天切土豆片都行。FPGA使用预建的逻辑块和可从新编程布线资源,可让用户无需使用电路实验板或者烙铁,经过特定的软件开发计算任务,编译后就能自定义配置芯片硬件功能。


只须要OpenCL和HLS(High Level Synthesis)技术,直接把C、C++代码编译成Verilog便可。


640?wx_fmt=jpeg


在处理海量数据的时候,FPGA 相比于CPU 和GPU,优点在于:FPGA计算效率比CGPU更高,FPGA更接近IO。


正所以,FPGA目前已经占据在了异构计算的主流地位。


ASIC:最强订制料理机


ASIC的中文全称是“特殊订制集成电路”。


关键词:特殊订制。


它是订制的,也意味着不须要去纠结CPU和GPU怎样分配控制资源和计算资源的问题了,想怎么分配就怎么分配。编程语言越接近底层硬件,运行速度越快。


ASIC的设计是直接用软件思惟搭建硬件电路,全部的设计是直接建筑在物理硬件(门电路)上的。因此,ASIC不须要取指令和译码,每一个时间单位都能专一于数据处理或者传输,大大提升了效能。


直接设计的硬件结构也让数据处理管线真正实现,每一级的处理结果能直接用于下一级的输入,无缝链接。在必定规则下(好比必定芯片面积和布线规则下),并行通道能够最大化叠加。在功耗方面,由于硬件利用的最大化,是全部协处理器里最小的。


若是将协处理器按照性能排行:ASIC > FPAG > GPU。


640?wx_fmt=jpeg


然而,因为ASIC定制化,致使价格十分高昂,定制的过程漫长,而且功能定制化很难再去更改。


就比如于,大厨今天想作土豆丝,明天土豆片。很差意思,再去定制一台。


AI算法尚处于蓬勃发展、快速迭代的今天,ASIC存在开发周期较长、须要底层硬件编程、灵活性较低等劣势,所以发展速度不及GPU和FPGA。


4、总结


以目标的发展趋势来看,三者用一句话来归纳以下:

  • GPU:先发制人的“十项全能”选手,云端终端均拔头筹。

  • FPGA:“变形金刚”,算法未定型前的阶段性最佳选择。

  • ASIC:“专精职业选手”,专注决定效率,AI芯片将来最佳选择。


640?wx_fmt=jpeg

(七牛云、阿里云异构实例一览)


FPGA目前因为其优势愈加获得AI厂商青睐,有望在这几年承担更多的角色。


在云端主要做为GPU计算性能不足的有效补充存在;同时CPU会“变小”,从14nm,甚至是5nm,可是依旧做为控制中心存在,必不可少。


将来芯片的发展前景取决于生态,有望统一在主流的几个软件框架下,造成云端CPU+GPU+FPGA(可选)的多芯片协同场景。


640?wx_fmt=png


福利

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:


640?wx_fmt=png 真香,朕在看了!