您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
异构型实例科普---我眼中的异构计算
 
作者: 雍飞宇
   次浏览      
 2020-4-23
 
编辑推荐:
本文旨在梳理及加深自身对于异构计算的理解,同时希望能为科普异构计算实例,让读者了解异构计算的基本概念和其中不同异构计算方案的侧重点。
本文来自于CSDN,由火龙果软件Alice编辑、推荐。

一、传统计算的困境

广为流传的摩尔定律(英特尔(Intel)创始人之一戈登·摩尔提出)表明:每24个月会将芯片的性能提高一倍,后来,另外一个英特尔首席执行官大卫·豪斯(David House)提出:预计18个月会将芯片的性能提高一倍。

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

传统CPU芯片计算可以叫同构计算,也可以叫通用计算,设计之初,更多的是注重控制。而GPU设计作为协处理器只为处理CPU难以负载的大量并行计算。如上图,GPU的发展比CPU更为迅猛,每一代制程缩减直接带来更多的核心数,同时,GPU 每年有大约40% 的性能提升。

而CPU占据70%的部分晶体管是用来构建Cache还有一部分控制单元,负责逻辑算数的部分并不多。GPU整个就是一个庞大的计算阵列,适合做大量密集型计算类型,就好游戏爱好者,如果想要体验画质更高的游戏画面,就必须买更好GPU的显卡。总结,CPU负责逻辑性强的事物处理和串行计算,GPU则专注于执行高度线程化的并行处理任务(大规模计算任务)。

通俗一点,CPU好比于笔,你可以拿他画你任何想画的东西。而GPU好比于打印机,打印肯定更快,但是需要CPU的协同。

二、异构计算的崛起

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

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

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

三、”厨房论“异构计算

在饭店的厨房,通常会有一个大厨(CPU),它会做各种菜(兼容性极好),但是如果做菜之前的大量重复动作(洗菜、切菜)导致它一天做菜的份数明显减少。并且,由于最近(人工智能时代到来)客人点菜要求越来越高(花样菜式),大厨开始不堪负重。

本来顾客大多要的「炒白菜」,现在一个个都想吃「开水白菜」,一道是家常菜,一道是国宴菜,然而后者复杂程度(大量数据复杂处理)远远不是前者所能比较。

于是,大厨想着,一大菜我一个做着麻烦,但是我可以请个帮手(协处理器),比如在切菜方面,这个帮手可以同时处理很多菜品(并行计算),而且很熟练,速度很快(低延时)。于是,一个负责切菜,一个负责做菜,分工明确。

当然,大厨挑选这个帮手也是精挑细选,主要体现在以下方面

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

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

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

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

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

于是,协处理器中GPU、FPGA和ASIC在厨房的”位置“就出来了,让我们一起来看下吧!

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

CPU和GPU都属于通用处理器,但是和CPU一样,都有一个很大的缺点,CPU和GPU的代码都存在Memory这个“菜谱”中,需要经过取指令,译码,然后才能执行指令。在这个流程中,取指令,译码会开销额外的时间,降低了数据处理速度。如果说CPU大厨形容为“头脑发达(控制电路多),四肢简单(计算电路少),那么GPU帮厨正好相反。在GPU中,硬件资源被大量用作逻辑运算单元(ALU),小部分用作控制电路。这为大规模的数据并行处理提供了基础。

于是,当这个帮厨(GPU)被使唤去切菜洗菜时,手脚非常麻利,完成的又快又好。但是如果你让这个帮厨(GPU)去做“土豆切丝,洋葱切片,南瓜雕花……”,可能就没有那么利索了。这是因为,复杂的控制流程会产生大量的分支(如编程语言中的case和if else),而GPU中一个控制单元要负责好几个计算单元。所以,如果要最大程度地使用GPU,势必要求控制分支越少越好。

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

在厨房中,有一种厨具我相信有很多人都会喜欢,大厨也喜欢,那就是料理机。有了料理机,大厨终于有可以节省了大量的时间来包饺子了,使用料理机处理肉馅即可。同时,当有需要制作果汁、豆浆时,也可以使用料理机,作为一款多功能料理机,可以满足大厨的多种需求。

FPGA作为一种高性能、低功耗的可编程芯片,中文名叫做”现场可编程门级列阵“。最耀眼的词语:可编程。这也意味着,今天可以切土豆丝,明天切土豆片都行。

FPGA使用预建的逻辑块和可重新编程布线资源,可以让用户无需使用电路实验板或者烙铁,通过特定的软件开发计算任务,编译后就能自定义配置芯片硬件功能。

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

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

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

ASIC:最强订制料理机

ASIC的中文全称是“特殊订制集成电路”。它是订制的,也意味着不需要去纠结CPU和GPU怎样分配控制资源和计算资源的问题了,想怎么分配就怎么分配。

编程语言越接近底层硬件,运行速度越快。

ASIC的设计是直接用软件思维搭建硬件电路,所有的设计是直接建筑在物理硬件(门电路)上的。所以,ASIC不需要取指令和译码,每个时间单位都能专注于数据处理或者传输,大大提高了效能。直接设计的硬件结构也让数据处理管线真正实现,每一级的处理结果能直接用于下一级的输入,无缝连接。在一定规则下(比如一定芯片面积和布线规则下),并行通道可以最大化叠加。在功耗方面,因为硬件利用的最大化,是所有协处理器里最小的。

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

然而,由于ASIC定制化,导致价格十分高昂,定制的过程漫长,并且功能定制化很难再去更改。就好比于,大厨今天想做土豆丝,明天土豆片。不好意思,再去定制一台。

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

四、总结

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

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

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

GPU目前云端应用范围最广。目前大量涉足人工智能的企业都采用GPU进行加速。GPU芯片架构脱胎图像处理,并行计算能力强大。就云计算厂商七牛云而言,目前针对不同场景已经推出如下规格。

   
次浏览       
相关文章

基于图卷积网络的图深度学习
自动驾驶中的3D目标检测
工业机器人控制系统架构介绍
项目实战:如何构建知识图谱
 
相关文档

5G人工智能物联网的典型应用
深度学习在自动驾驶中的应用
图神经网络在交叉学科领域的应用研究
无人机系统原理
相关课程

人工智能、机器学习&TensorFlow
机器人软件开发技术
人工智能,机器学习和深度学习
图像处理算法方法与实践
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]
 
最新文章
多目标跟踪:AI产品经理需要了解的CV通识
深度学习架构
卷积神经网络之前向传播算法
从0到1搭建AI中台
工业机器人控制系统架构介绍
最新课程
人工智能,机器学习和深度学习
人工智能与机器学习应用实战
人工智能-图像处理和识别
人工智能、机器学习& TensorFlow+Keras框架实践
人工智能+Python+大数据
更多...   
成功案例
某综合性科研机构 人工智能与机器学习应用
某银行 人工智能+Python+大数据
北京 人工智能、机器学习& TensorFlow框架实践
某领先数字地图提供商 Python数据分析与机器学习
中国移动 人工智能、机器学习和深度学习
更多...