在互联网行业,随着信息化的普及,数据量的暴增使得人们对存储空间又有了新要求,同时,机器学习、人工智能、无人驾驶、工业仿真等领域的崛起,使得通用CPU在处理海量计算、海量数据/图片时遇到越来越多的性能瓶颈,如并行度不高、带宽不够、时延高等。

为了应对计算多元化的需求,越来越多的场景开始引入GPU、FPGA等硬件进行加速,异构计算应运而生。异构计算(Heterogeneous Computing),主要指不同类型的指令集和体系架构的计算单元组成的系统的计算方式。

20世纪80年代,异构计算技术就已经诞生了。所谓的异构,就是CPU、DSP、GPU、ASIC、协处理器、FPGA等各种计算单元、使用不同的类型指令集、不同的体系架构的计算单元,组成一个混合的系统,执行计算的特殊方式,就叫做“异构计算”。

特别是在人工智能领域,异构计算大有可为。众所周知,AI意味着对计算力的超高要求,目前以GPU为代表的异构计算已成为加速AI创新的新一代计算架构。

我们为什么需要异构计算?

谈到计算,我们通常会想到CPU,但是CPU属于通用计算,受制于摩尔定律,随着计算多元化的发展,特别是应用类型的多样化,导致CPU在处理某些计算类型方面出现“力不从心”的情况。引入特定的单元让计算系统变成混合结构成为了必然,每一种不同类型的计算单元都可以执行自己最山擅长的任务。

CPU虽然运算不行,但是擅长管理和调度,比如读取数据,管理文件,人机交互等,例程多,辅助工具也很多;GPU管理更弱,运算更强,但由于是多进程并发,更适合整块数据进行流处理的算法;FPGA能管理能运算,但是开发周期长,复杂算法开发难度大。适合流处理算法,不管是整块数据进还是一个一个进。还有实时性来说,FPGA是最高的。

当人工智能等海量计算力诉求到来之后,GPU、FPGA配合CPU进行计算也就“水到渠成”了。

异构计算的两大派别——GPU和FPGA

我们最熟悉的异构计算平台就是“CPU+GPU”以及“CPU+FPGA” 架构。这些典型异构计算架构最大的优点是具有比传统CPU并行计算更高效率和低延迟的计算性能,尤其是业界对计算性能需求水涨船高的情况下,异构计算变得愈发重要,整个计算行业生态无一不在此发力。

众所周知,相比CPU,GPU和FPGA拥有太多的优势,GPU有更高的并行度、更高的单机计算峰值、更高的计算效率;而FPGA的优势则主要体现在它拥有更高的每瓦性能、非规整数据计算更高的性能、更高的硬件加速性能、更低的设备互联延迟。

目前异构计算使用最多的是利用GPU来加速。主流GPU都采用了统一架构单元,凭借强大的可编程流处理器阵容,GPU在单精度浮点运算方面将CPU远远甩在身后。各个GPU厂家都推出了适用于通用计算的GPU,GPGPU(General Perpose GPU)。一时间,整个业界都在谈论GPU计算。

除了GPU,FPGA成为近年半导体产业的热点。FPGA作为一种高性能、低功耗的可编程芯片,可以根据客户定制来做针对性的算法设计。所以在处理海量数据的时候,FPGA 相比于CPU 和GPU,优势在于:FPGA计算效率更高,FPGA更接近IO。

PGA不采用指令和软件,是软硬件合一的器件。对FPGA进行编程要使用硬件描述语言,硬件描述语言描述的逻辑可以直接被编译为晶体管电路的组合。所以FPGA实际上直接用晶体管电路实现用户的算法,没有通过指令系统的翻译。

当然除了GPU和FPGA,ASIC也是目前计算芯片的一种选择。ASIC是一种专用芯片,与传统的通用芯片有一定的差异,是为了某种特定的需求而专门定制的芯片。ASIC芯片的计算能力和计算效率都可以根据算法需要进行定制,所以ASIC与通用芯片相比,具有以下几个方面的优越性:体积小、功耗低、计算性能高、计算效率高、芯片出货量越大成本越低。但是缺点也很明显:算法是固定的,一旦算法变化就可能无法使用。

目前人工智能属于大爆发时期,大量的算法不断涌出,远没有到算法平稳期,ASIC专用芯片如何做到适应各种算法是个最大的问题。

不同处理器芯片在构建异构计算方面有着自己的鲜明特点。CPU、GPU领域存在大量的开源软件和应用软件,任何新的技术首先会用CPU实现算法,因此CPU编程的资源丰富而且容易获得,开发成本低而开发周期。FPGA的实现采用Verilog/VHDL等底层硬件描述语言实现,需要开发者对FPGA的芯片特性有较为深入的了解,但其高并行性的特性往往可以使业务性能得到量级的提升;同时FPGA是动态可重配的,当在数据中心部署之后,可以根据业务形态来配置不同的逻辑实现不同的硬件加速功能。

ASIC芯片可以获得最优的性能,即面积利用率高、速度快、功耗低;但是AISC开发风险极大,需要有足够大的市场来保证成本价格,而且从研发到市场的时间周期很长,不适合例如深度学习CNN等算法正在快速迭代的领域。

结语

当前计算多元化趋势不可阻挡,单一的CPU已经无法计算力的需求。在这种情况下,以GPU和FPGA为代表的异构计算大行其道。特别是人工智能、大数据、物联网等新技术的推动,应用类型呈现多样化,其对计算的需求也呈现差异化的特点。不管是“CPU+GPU”还是“CPU+FPGA” ,都是为了更好地服务个性化的计算需求。

可以预见的是随着计算产业的演进,异构计算具有广泛的发展空间,我们也会看到越来越多的异构计算架构在承载应用方面发挥越来越重要的作用。

相关推荐:

小梅哥FPGA设计思想与验证方法视频教程

对话FPGA原厂——既聊技术,也谈市场

NI FPGA基础学习视频(基于cRIO)

异构计算的两大派别 为什么需要异构计算?相关推荐

  1. 机器学习两大派别--南大周志华

    //2014年11月7日 //http://quweiprotoss.blog.163.com/blog/static/4088288320099178652101/ 机器学习现在是一大热门,研究的人 ...

  2. 陀螺年度好文回顾|Staking 时代两大流派,屌丝和贵族谁将胜出?

    2019,区块链行业在混沌中探索前进,但对于从业者来说2019无疑是里程碑式的一年. 回顾2019年,中国区块链行业的发展经历了从满怀牛市希望到失望,再到国内强监管项目出海.行业寒冬,区块链从业者.币 ...

  3. 【转】深入了解CPU两大架构ARM与X86

    [转]深入了解CPU两大架构ARM与X86 来自:https://blog.csdn.net/u014641018/article/details/53484565 重温下CPU是什么 中央处理单元( ...

  4. 五大新品+两大黑科技,看华为云如何升级基础设施让用户“躺平”

    摘要:继在业界首次提出"分布式云×云原生"云基础设施新范式后,华为云进一步对计算.存储.网络等基础能力进行全面升级,发布全新一代计算实例C7.独享型ELB等五大新品,并面向实景三维 ...

  5. Intel官宣两大全新CPU 一性能猛增8.8倍!

    一年一度的台北电脑展马上开启,各大巨头都在摩拳擦掌.Intel今天官方宣布,公司高级副总裁兼客户端计算事业部总经理Gregory Bryant,将于5月28日发表2019年台北国际电脑展开幕主题演讲, ...

  6. 再度斩获两大奖项! ALVA Systems 驱动智能制造新征程

    3 月 16- 17 日,由 e-works 数字化企业网和湖北省中小企业服务中心联合主办,中国中小企业发展促进中心指导的第十二届中国智能制造高峰论坛暨第二十届中国智能制造岁末盘点颁奖典礼在北京召开. ...

  7. 机器学习:DeepMind和OpenAI身后的两大RL流派有什么具体的区别?

    请问DeepMind和OpenAI身后的两大RL流派有什么具体的区别? - 周博磊的回答 - 知乎 https://www.zhihu.com/question/316626294/answer/62 ...

  8. 鲲鹏高校行太原站来袭,两大课程一站式掌握未来潮流

    未来是算力比拼的时代,也是属于象牙塔中莘莘学子们的时代. 北京时间12月14日,为了进一步培养计算产业人才,拓展鲲鹏产业生态影响力,由中北大学信息商务学院主办,山西鲲鹏生态创新中心承办的鲲鹏高校行系列 ...

  9. 两大AI技术集于一身,有道词典笔3从0到1的飞跃

    作者 | Just 出品 | AI科技大本意(ID:rgznai100) "双十一"结束的钟点刚刚敲响,拥有电子消费品的企业便很快对外界秀了一把今年的销售战绩,网易有道也不例外.在 ...

最新文章

  1. GIT如何查看本地分支与远程分支的关联配置(git branch --set-upstream)
  2. C#第三方控件的使用
  3. 浅谈C#中的异步编程
  4. 分页控件 实战 Post篇
  5. 2020蓝桥杯省赛---java---B---4( 合并检测)
  6. iOS开发之单例模式
  7. 统计单词数(信息学奥赛一本通-T1400)
  8. linux home的权限,Linux中用户帐号和用户home目录
  9. python反转列表解析_Python语法糖之:列表解析、集合解析和字典解析
  10. C语言中怎么将变量名转换为字符串 -转
  11. layui下拉框怎么获取自定义值_layui如何得到select下拉框选中的值?
  12. java如何进行传感器数据传输_使用Wio Terminal通过HTTP请求获取并展示传感器实时数据...
  13. python制作自动按键精灵_Python按键精灵自动化
  14. 深入理解JVM--JVM结构
  15. Python三大神器之pip用法详解
  16. 家(单位)电信宽带,50M上行带宽,不用浪费了,发布Web(网站)应用刚好
  17. RedHat8.0配置本地yum源
  18. C语言阶段小项目(火车购票系统)
  19. RHCSA之Linux系统简介
  20. 《Pro Oracle SQL》Chapter 2--2.4 Identical Statements

热门文章

  1. 前端工程师成长之多看好书
  2. STM32芯片VDD、VDDA和VREF的关系
  3. mongodb 安装记录 2017年11月21日
  4. 命题作文 在一棵IPv4地址树中彻底理解IP路由表的各种查找过程
  5. 2013年全国硕士研究生入学统一考试英语(一)和(二)考试大纲新增的60个词汇详解
  6. 城市绿色货运配送体系评价
  7. 毕业设计 单片机人体识别小车 - 深度学习 yolo目标检测 机器视觉 树莓派
  8. 微信朋友圈点赞如何设计测试用例,微信发语音消息,购物车,支付页面如何设计软件测试用例?
  9. 完全卸载Myeclipse
  10. Echarts修改图例legend文字颜色和字体大小