说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

专访中科院贾海鹏:给异构开发者的六个建议

HTML文档下载 WORD文档下载 PDF文档下载
日前,CSDN专访了中科院研究员贾海鹏,他就异构计算的趋势、开发现状、AMD新推出的hUMA(异构统一内存访问)技术等话题分享了自己的看法。

CSDN专稿 异构计算被视为计算机处理器继单核、多核之后的第三个时代,它将实现使用不同类型指令集和体系架构的计算单元,比如CPU和GPU之间的“协同计算、彼此加速”,从而突破CPU发展的瓶颈,有效解决能耗、可扩展性等问题。而异构开发也在走进更广的领域和开发者。日前,CSDN专访了中科院研究员贾海鹏,他就异构计算的趋势、开发现状、AMD新推出的hUMA(异构统一内存访问)技术等话题分享了自己的看法。

贾海鹏

CSDN:请您先简单介绍一下自己以及目前主要关注研究的领域。

贾海鹏:大家好,我是贾海鹏,2013年1月毕业于中国海洋大学,获博士学位。现为中国科学院软件研究所并行科学与计算实验室助理研究员。主要科研方向为: 众核体系架构下并行编程方法与优化技术研究

CSDN:您如何看待异构计算/编程领域这些年来的技术演变、应用拓展状况及未来发展?

贾海鹏:近年来,异构计算受到了越来越多的关注,这主要是因为由于材料、制造工艺、功耗和散热的限制,传统的通过提升CPU时钟频率和内核数量来提高计算能力已经变的越来越困难。与此同时,GPU等专用计算单元拥有相对CPU高的多的计算能力、数据传输带宽以及性能功耗比,但计算能力却远没有得到充分利用。在这种情况下, 如何有效利用计算系统中各种计算部件,并根据不同计算部件的硬件架构特点调度运行相应的计算任务,以充分发挥不同计算部件的计算能力,成为研究热点,异构计算也应运而生。

总体上来讲,异构计算共经过了三次技术演变:2008年GPGPU(General-purpose computing on GPU)的提出及应用推广,GPU架构的革命性变革,使GPU具备了执行通用计算任务的能力;2010年CPU+GPU异构计算,CPU与GPU协同运作,充分发挥系统中各种处理器的计算能力;2011年即将来的异构融合计算,CPU与GPU(协处理器)集成到同一块芯片上,以期待实现内存共享和统一地址访问,消除不同处理器间的数据传输消耗。

当前,异构计算已经涵盖了许多计算领域,从传统科学计算(分子动力学,数值分析、计算流体动力学,量子化学等)到桌面级应用(图像处理、多媒体、立体3D制作、物体识别等),都可以看到异构计算的身影。

从某种意义上说,CPU+GPU(协处理器)的异构计算是未来计算的发展趋势。 2012年11月发布的世界TOP500高性能计算机,采用异构架构的高性能计算机有62套,其中Titan高性能计算机更是荣膺榜首。而在桌面级甚至是移动应用领域,也有越来越多的应用程序移植到GPU上,以期望取得更好的性能或者是更好的能效比。面对繁杂的计算任务,根据处理器硬件架构的特点,让不同类型的处理器各司其职,比如CPU负责逻辑密集型任务,而将计算密集型和数据密集型任务交给拥有更高计算能力和存储带宽的GPU负责,才能充分发挥其计算性能。充分发挥计算系统中不同架构处理器在不同方面的优势,从而实现系统整体计算能力的最大化(或者最优化)利用是异构计算的真正意义所在。

然而,个人认为,异构计算推广还需要解决两个主要问题:
1) 编程难度大,开发成本高。 GPGPU编程的一个重要特点是“实现容易,优化难”:要达到理想性能,需要针对硬件特征和应用程序特点,投入大量精力,进行各种优化方法组合的尝试、折中和权衡;而优化工作的开展会增加程序出现bug的可能性。不幸的是,虽然AMD和NVIDIA都发布了各自的调试工具,然而目前GPU程序的调试依然非常困难。软件开发生态的构建是否能跟上硬件发展的步伐,是异构计算推广的关键。

2) 不同处理器间存在着“昂贵”的数据传输开销。 当前,CPU+GPU异构计算的模式是首先CPU将计算任务及所需数据传递给GPU,GPU计算任务完成后,在将计算结果返回给CPU。CPU和GPU之间的数据传输消耗了大量时间,甚至会完全抵消我们耗费心血优化GPU程序所带来的性能提升。减少甚至是消除不同处理器间的数据传输开销,是异构计算发展的一个重要问题。当前AMD发布的APU和Intel发布ivy bridge已经做了很好的尝试。但两者都没有真正的实现异构融合:共享内存(统一地址访问)以及完善的任务调度机制(合适的任务调度到合适的处理器上运行)。而AMD采用hUMA技术的HSA(Heterogeneous System Architecture,异构系统架构)可能会带来新的尝试和突破。比较值得期待。

CSDN:作为领域内的专业人士,您认为哪些开发者应该优先学习异构编程的技能?未来异构编程的技能会成为开发者的通用技能吗?

贾海鹏:采用异构编程无非有两个目的:一是追求高性能,二是追求最佳能效比。因此,开发实时性较强、性能要求较高或者注重能效比应用程序的开发人员可关注下异构计算,并学习相关技术。

个人认为异构计算是未来计算的发展趋势。尽管厂商可能会尽可能的隐藏异构计算的底层细节,提供开发人员统一的开发接口,以降低开发人员负担。甚至厂商可能会做到不会改变开发者编程习惯(当然这个很难)。然而,建立异构编程观念,掌握异构编程技术应该对未来软件开发人员的重要要求。

CSDN:您如何看待AMD最新推出的hUMA(异构统一内存访问)技术对GPUCPU融合带来的影响力,它有哪些优势和劣势?(优缺点)

贾海鹏:hUMA技术对异构计算最大的贡献是实现了CPU和GPU的内存共享,解决了CPU和GPU间数据传输所带来的时间消耗,应该说是异构计算一次大的技术突破。然而,这个技术如何解决内存一致性问题,CPU和GPU共享内存是否会增加本来已经非常困难的异构编程和优化的难度,整个编程生态是否能够跟上硬件发展的步伐,让我们拭目以待。

CSDN:HSA帮助开发者更高效、更容易的进行开发,并获得可观的性能提升及功耗降低,但这还需要一至两代产品更新才能实现。在当下,开发者学习和使用异构编程有价值吗?

贾海鹏:HSA确实是异构计算的一次重要技术革新,表现究竟如何我们还需拭目以待。但在当前,异构计算依然是研究特点,CPU+GPU的异构计算模式在众多领域中都得到了广泛的应用。对于开发人员来说,特别是对于之前我提到过的对异构计算有需求的开发人员来说,学习异构编程和技术,掌握最底层和最前沿的异构编程和优化方法,非常重要,也非常有价值。

CSDN:C++大师Herb Sutter曾发表过一篇著名的文章《The Free Lunch Is Over》,他表示程序员不断获取硬件升级带来帮助的日子已经结束了,并行计算或异构计算将是未来的趋势。Intel在内的公司不断推出了多核、众核处理器,虽然包括AMD和英特尔等公司做了很大努力,开发者驾驭多线程的编程难度很大,现在学习异构开发的难度依然很大吗?开发工具、函数、算法成熟吗?

贾海鹏:尽管厂商在降低异构编程难度上做了大量工作,也有效推动了异构计算的发展。但就我的开发经验来说,异构编程“实现容易,优化难”的特点依然存在:

1) 将程序移植到异构平台上相对简单,但是要获得高性能,需要进行不断尝试、劳心劳力的优化工作。例如GPU程序优化是各种优化方法相互权衡和折中的过程,很难说最大化某种优化方法后就一定会带来性能提升;而针对那些线程间负载不均衡或者是线程间存在依赖的非规则应用,在GPU这种大规模细粒度并行处理上的优化更是困难,需要如persistent thread,Uberkernel,coarse-granularity parallelism,queue等新优化方法的开发和使用。

2) 虽然各厂商都推出了各自的调试工具,异构程序特别是GPU程序的调试依然非常困难。

总之,虽然各厂商对异构编程都建立了良好的开发生态,但异构程序的开发成本依然很高,编写高性能的异构程序依然很困难。

CSDN:对想学习或入手异构编程的开发者有什么建议吗?

贾海鹏:异构编程就是追求高性能和好的能效比,其本质就是实现算法特性向硬件架构特征的高效映射。因此,根据我的经验,学习异构编程需要以下几点:
1) 异构编程绝对不是对应用程序的简单并行化,需要对算法的深入了解
2) 异构编程,程序性能与具体硬件架构相关,需要对目标硬件架构有个深入了解
3) 可从一个应用程序(比如矩阵乘)出发,逐步了解异构程序编写和优化的主要技术
4) 多coding,经验很重要
5) 多看文档,特别是随SDK发布的编程指南和优化指导等官方文档
6) 随时关注硬件发展

注:本文由付江采访,季红整理成稿

Dropbox推独立应用,公司估值已达100亿美元 【走近院士】梅宏:云计算时代软件技术发展需求和挑战 云计算战争:OpenStack vs. VMware Cortana与Siri、Google Now的较量:支持功能更多 代码面试最常用的10大算法 “颠覆医疗” 时云医疗推三款硬件产品 华为章宇:如何学习开源项目及Ceph的浅析 EMC:大数据时代中对于数据保护的重新定义 Google Glass于4月15日在美对外开放购买,售价为1500美元 电脑上的网址怎么样复制到手机 创客天下——《Make》及Maker Faire创办人、O&amp;#039;Reilly Media创始人Dale Dougherty专访 《近匠》aGlass团队:透析眼控技术的价值 一周消息树:超级充电器来袭,30秒可为手机充满电 北森CTO张庆化:利用Spark实现数据驱动价值 大公网冯咀志:站内搜索系统的PowerLinux迁移实践 2014移动开发者必备的十大应用测试工具 前《连线》主编Chris Anderson:创客就要DIT UC多屏战略 推出电脑版和电视版浏览器 “全国云计算大数据创新项目评选”征集活动正式启动 【走近院士】李伯虎:云制造技术的应用及发展 一周热点: Twitter的下一代分布式数据库Manhattan 专访微软陆奇:大转型中最难的是文化的改变 【CTO俱乐部走进腾讯】问题征集进行中 颠覆移动营销世界的女王Yunha Kim为女性CEO正名 Google揭露“仙女座”虚拟网络,及分散和集中架构之辩 DHTMLX Touch:开源的HTML5和JavaScript框架 Supercell下一城:《海岛奇兵》续写芬兰手游传奇 开发者盛宴 2014 Unity亚洲开发者大会盛大开幕 微软全球中国云业务总经理:云落地中国的最大难题 PTVS 2.1 Beta版发布 Visual Studio的Python工具 【走近院士】李兰娟:云计算与大数据将成为医疗改革利器 誰有Java的在線网絡游戲,就象263,yahoo上那樣的. error C2664是怎么回事?十万火急!!! 我的编译器总出 LINK : fatal error LNK1104: cannot open file "Debug/Typer.exe" 是什么原因? 送分喽 vb中的问题!!!急 请问:fastreport的自定义变量如何与delphi变量进行互相传递!!! 请问各位高手关于局域网共享上网的设置问题。 basic 的数据结构问题 asp与xml 百分求维护经验 初级问题 求救:如何用fileup组件将一个文件同时存到两台机子的硬盘上! 有关netmeeting、AVPhone或其它做视频会议相关控件的使用方法。 a question about String Type!Please help me! 关于%include的问题。高分 vb如何访问sql-server。 有用SDK编写的象“我的电脑”那样的程序吗? 请教:如何绘制成绩分析的正态分布曲线? bean里删除文件? 请问关于响应事件的问题?? 请问怎样用在Active DLL中调用ASP的response对象? 请介绍几本关于vb的书,不是入门的书,有没有向<delphi5开发人员指南》这样的书???? dos下编程,如何获得文件创建时间? 如何判断存储过程执行成功结束?(50分相送) 谁行行好吧,小弟谢过了!(sql的cd key) 请教现在是应该学习VB6还是VB.NET? 关于在mfc中自定义类的一个问题 请教现在是应该学习VB6还是VB.NET? 谁有在VB中开发DirectX的教程,请推荐下载地址. zrong(zr) TommyTong(童童) GreenWaterBlueSky(我的家在碧水蓝天) 进来看一看可以吗? 谁行行好吧,小弟谢过了!(sql的cd key) 这里是个关于Iczelion的win32的汇编教程中的一个问题,请各位指点! 请问如何让VB。NET编译的。EXE文件在没有装有。NET架构的系统上运行? 大白鲨:计算机软件专业到低学那些课程 窗口的最小化和最大化事件是什么? 怎样实现在主窗体显示后,出现登录窗口?? 三层结构系统的问题! 存储过程问题 如何从Select的结果中再查询数据? 求助:此书<<windows me程序设计手册>>附带光盘的源代码---作者台湾,位元文化 大白鲨:程序员的爱情问题 form1.WebBrowser1.Navigate('www.zz.ha.cn');showmessage('下载完成');总错误 提问:关于报时程序 如何用图像来显示一个灰度值矩阵? 终于下载完了77M的,高兴,爽! 树型控件中,我在itmexpanding 事件中写了代码,第一次展开树正常,但以后每展开一次,数据内容就会在原内容基础上增加,书上说必须清除 tab控件中的按钮怎样关闭对话框? 大白鲨:数据库查询进度 啥是message map 在哪儿啊?〉 请帮我解决用dreamweaver来做网页时令我头痛的一个问题?谢谢! 续:关于报时程序 最后一头战象 父与子阅读题答案 英语六级华研听力1000题的难度怎么样,比六级真题难还是简单 孟子和荀子都是战国人物,为什么他们会有不同的观点?孟子处于战国早期,荀子处于战国末期,他们的时代环境是相似的,但孟子提出了人性本善的政治观点,荀子提出了人性本恶的观点,这是为什 小海马为什么是父亲生?小海马为什么是父亲生的①温暖的海底,尤其是浅海区域,分外光明灿烂.那里有胜过陆地森林草原的海底植物,有嬉游其间形形色色的动物.生长在海底的红、白珊瑚,像庭 在哪能看到 英语六级答案? 荀子、孟子和孔子的思想有何异同?请各用一个名句来概括他们的突出特点. 孔子、孟子 、荀子、黄宗羲的民本思想是什么,董仲舒的民本思想主要体现在? 在政治经济学中,G表示金全,W表示商品,P是指什么呢,是利润,还是价格? 孔子和孟子 荀子 有什么不同? “性恶论”最早是由( )提出的 A.孟子 B.孔子 C.董仲舒 D.荀子 男生长得美是啥意思?长得像女生的男生被人说可爱是啥意思? 用‘my father past life'写一篇初一的英语作文 穷则独善其身,达则兼济天下的含义? Mygirl的中文意思是什么? my father is day 英语作文 中国古代“自然人”假设的提出人是( ) A.孔子和孟子 B.老子和庄子 C.荀子和墨子 D.世硕和董仲舒 如果有男生说你长得可爱,是什么意思啊?我同桌在有天上语文课的时候就问我:有没有男生说你长得可爱?我说没有(其实有一个),结果他却说:没有?那我来说,你长得很可爱!(谁能告诉我, 六级财富值是多少? “穷则独善其身,达则兼济天下. 鲁迅生平简介稍微短一点, 一道初三英语题,希望有讲解谢谢,急在线等As we all know, wood and stones ______ bridges in the past.A) used to build B) used to building C) were used to build D) were used to building 需要多少财富值才能升到六级. 达则廉济天下,穷则独善其身的意思 Jim found nobody in the classroom —— A.did heB.did Jim 我知道选A,但我想知道为什么不选B.这种从句不是应该看主句吗? 财富值是多少时是六级 My father 初一水平英语作文70词左右、越简单越好、快!!! 《最后一头战象》里的战象,在死做了什么事《最后一头战象》里的战象,在它死之前,做了什么事,请问下,3Q 百度知道六级财富值是多少? 求解数学题,快19:00前某车间缺勤人数是出勤人数的十分之一,后来又有2人因事请假,这时缺勤人数是出勤人数的八分之一,全车间有多少人?长方形砖的长为40厘米,宽为26厘米,用这种砖铺成一块 《最后一头战象》 嘎羧死前做了那些事 在现代市场经济体制中,政府越来越多的运用税收,利率等经济杠杆调节经济运行,经济杠杆能起到调节作用原因答案是直接关系着市场主体利益, 一条数学题(最好在今天早上7:00之前回答)用一副三角尺可以拼成的角是多少度?(本人不明白这道题的意思最好说说这题的意思!)(1)100度(2)105度(3)110度 最后一头战象讲了一件什么事? 利率是一国政府调控宏观经济的重要杠杆.变动利率对经济的影响的一般规律( )a.提高利率,储蓄减少.b.降低利率,投资会减少.c.提高利率,会抑制通货膨胀.d.降低利率,消费会减少.我选C.Ps:请 62页答案,别让我自己做,谁给我我给100财富币 请问《最后一头战象》中的象死前有何感想?作文 兼济天下和独善其身的意思不要达则兼济天下,穷则独善其身的解释.单独的解释, 有回答者必给财富! 最后一头战象嘎羧死前看到了什么?想到了什么? 兼济天下、独善其身的意思兼济天下、独善其身两个词语的含义,最好是自己的理解,只要词语的意思!不要什么“穷则”,“达则”,而且要是褒义 请问政治经济学中G-W-G'是什么意思 利率是如何作用的作用?请从宏观角度回答 独善其身 在经济学中G-G'什么意思?谢谢 杠杆的作用是什么? 百度知道财富值多少才升到五级?六级?七级?八级?九级?最高到什么境界? 政治经济学中,G-W-G'中的意思?G是资本,W是商品,分别是哪些英文单词呢? 作者写《最后一头战象》当时的时代背景 有一列数,这样排列;1,22,333,4444,55555,666666,7777777······第二百个数是什么?讲得清楚点说错了,是1,3······ 政治经济生活中的W-G W-GW 最后一头战象表达了作者怎样的感情请勿说一大堆。 在足球比赛中前11场比赛中,某队仅负一场,共积22分.按比赛规则,胜利一场得3分,平一场得1分,负一场得0分,则该队共胜了几场? 你回答的真多!我才1000多财富. 最后一头战象作者所表达的情感?急. 兼济天下,独善其身是什么意思?五年级下册的苏教版语文练习册上的单元测试3中的一题. 有人说~爱情一千个人有一千个答案~我想知道这一千个答案都是什么~ 最后一头战象的简介 谁能解释以下句子的完整意思呀:穷则独善其身.达则兼善天下 穷则兼济天下,达则独善其身 英语6级答案哪里有
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘