APP下载

AMD:积极建造异构平台生态圈
——访AMD中国异构开发合作与解决方案中心总监楚含进

2013-01-30王左利

中国教育网络 2013年12期
关键词:异构开发者编程

文/本刊记者 王左利

11月中旬,AMD开发者峰会在美国召开。今年开发者峰会被称为APU13,其规模大于以往的任何一届。现场云集技术开发人员、游戏开发商、业界领袖、专家学者和创业投资者。

AMD一直致力于CPU和GPU双芯片的有机整合工作,例如其最早提出了Fusion融合概念,随后推出的APU产品,让用户在性能、功耗、装机成本等方面得到综合性实惠。

APU13上,AMD宣布,在2014年,AMD将会推出Kaveri APU,这款下一代APU将是2014年AMD的主力产品。Kaveri并且是第一款基于HSA 异构系统架构的处理器,该处理器内存设计基于全新hUMA(异构统一内存,CPU和GPU内存在硬件设计上真正统一为系统内存)架构,制程28nm。

大数据需要异构计算

从2006年并购ATI,AMD的目标很明确,就是要将CPU与GPU融合在一起。AMD中国异构开发合作与解决方案中心总监楚含进认为,异构计算是一种技术革命,让CPU和GPU相互融合,利用GPU并行计算的原理,让GPU参与到CPU的工作中,作为CPU的加速处理器,平衡工作,各自发挥优势。

之所以如此重视异构计算,是因为AMD认为,CPU的发展已经逐渐产生瓶颈,在解决很多应用的效率方面开始变得不尽如人意,尤其是在不断降低功耗但是对用户体验要求却一直提高的今天,用户对于基于视觉,体感,超高分辨率如4K,8K的要求也与日俱增,如何让未来中央处理器的每瓦性能发挥到最大一直是硬件追求的目标,在这些领域,APU有着天然的优势。

在大数据的时代,异构平台对大数据的处理也逐渐成为各大厂家研究的目标。楚含进表示,“在现在大数据的前提下,一些非结构化数据的处理,有的时候不能完全依靠CPU的处理能力,要靠GPU和CPU的协同处理能力才能更好更有效地完成对结构化数据的变化,进而作为结构化数据流处理。比如在多媒体语音搜索、处理领域炙手可热的DNN(深度神经网络)模型处理中,可以预见到,APU服务器的出现一定会在该领域引起一场效能的革命,AMD已经在该领域投入专门的团队来作前期研究,并且取得了一定成果,引起国内外尤其是许多互联网大公司的兴趣和合作探讨。”

从单纯CPU到异构计算是一个漫长的过程并且充满各种挑战。尽管产业界目前对异构计算还停留在以硬件为主导,软件生态环境正在建立的状态,但楚含进认为,异构计算在未来一定会有非常好的发展。“随着硬件产品从2014年正式在市场上推出和异构计算基金会(HSA Foundation)成员迅速的推广,以及基于HSA的开发工具(HSA Stack)日臻成熟,在未来的2~3年内一定会看到大量的基于CPU和GPU的融合应用。”

异构平台最大的问题就是软件的编程,良好的编程工具可以让开发者更好地将CPU与GPU的优势充分发挥。因此,最近几年AMD在异构计算的编程方面做了大量工作。比如,AMD一直致力于推动OpenCL的普及与培训。他们开展了大规模公益性的针对OpenCL的培训,向包括教育领域、研究领域等多行业开展了面向异构计算的编程培训。

楚含进认为,硬件厂商一定不能仅仅考虑硬件设计,而应从生态环境的角度上进一步考虑如何提供一系列的开发工具或者是软件模块,让上层的软件开发人员更好使用技术。也就是说,软件开发者在使用这些技术和工具的时候,能够更方便地思考其编程该如何更好地扩展各种应用,而不用费好大劲研究硬件的结构。值得一提的是,在APU13大会上,Oracle加入异构基金会,使Java在异构计算领域得到大力的支持,极大降低了基于Java的异构平台编程门槛。这也正是AMD致力于异构计算的目的,即让大量普通的程序员驾驭GPU,同时那些使用OpenCL编程的程序员依然可以按传统的方式来构建自己的软件。

“一旦有很好的针对异构平台的编程工具,未来基于异构平台就会产生很多创新型的应用,就像C语言对当年单片机的支持使得单片机从单一汇编语言支持走向普及应用一样。”楚含进表示。

发力低功耗

低功效是AMD一直追求的目标。而异构平台可以让功耗变得更低,但是低功耗并不意味着用户体验的期望降低。相反,随着互联网和智能移动设备的迅猛发展,用户体验反而更高。楚含进提到,低功效的处理器对未来的各种应用来说很重要。他提到一个例子:“现在手机上很难看到基于3D的游戏,无论其核心是双核还是四核,都不足以支撑3D应用的普及,因为耗电量和单纯CPU处理图形能效太低,过度的耗电使很多应用的设计不得不以降低用户体验为代价。”

异构计算正是为了降低功耗提升单位效能(Perform/Watt)而设计,“利用CPU和GPU的融合架构合理部署应用,会使用户整个系统的密度变得更密集,性能功耗也趋于合理。基于HSA的APU架构是一种架构变革的设计,不是简单的硬件系统级更改,或者说异构计算给未来处理器架构提供了一种标准化的参考,APU是作为其产品的一种代表。”楚含进说。

APU内部架构实际上是把CPU和GPU结合起来,它的主要硬件级实现之一就是hUMA,可以真正地实现数据在芯片级的融合,让CPU和GPU共享同一内存空间,这样,CPU和GPU直接互相访问,无需让CPU和GPU之间通过复制数据做“二次”处理,所以可以由GPU完成指令,而不需要由CPU从系统内存调用数据分派给GPU。这使得GPU和未来具有特定服务的处理器(比如视频处理器,FPGA等)成为真正意义上的协处理器,从而让系统资源在操作系统的调度下发挥到最优。

楚含进介绍说,这个架构最大化地解决了两个问题。第一,把CPU与GPU相结合,实际上减少了数据在CPU和GPU之间传输时产生的功耗,对很多程序来说是莫大的帮助,让诸多以前受制于计算能力和功耗的应用成为可能,比如, 4K的编解码传统软件算法会由于这种架构而受益,另外游戏上基于物理的实时渲染模型则会成为可能;第二,AMD在HSA上为GPU开发出一套非常容易让高层的编程语言人员使用的工具栈,这些工具提供给不同层次的程序员灵活的接口,利用C,C++或者Java都可以实现自己的程序,不用太多考虑GPU里专有的编程语言。通过这些,AMD希望开发人员只要对自己的业务了解即可而不用考虑GPU,并最终把GPU变成通用编程的模型。为了做到这一点,AMD提供了HSA编译工具、可调式的工具、基于开源的中间件和对不同层次语言的支持。

生态链与人才培养

异构平台的发展必然需要产业界的支持,一旦生态链成熟,异构平台就会得到快速发展。因此AMD意识到,必须将异构系统标准化,使其成为业界的标准,让服务器,PC到移动终端等领域的开发者都能享受它的优势,最终逐渐形成一个完善的生态链。

因此,AMD同ARM一起成立了HSA基金会。HSA基金会倡导的是一种开放的,同时还可以涵盖PC与移动设备(不光是跨 OS)的标准。目的在于通过异构处理器的架构来提升处理器的表现。比如FPGA和DSP也可以用到它,利用它提供高层语言支持,实现可编程性。2013年,HSA基金会的阵营里新添了Oracle,这是一个很重要的信号。这意味着Java语言对于异构平台的重视。这样的话,许多开发者就可以很方便地利用Java进行异构平台的开发了。从软件编程角度来看,Oracle的加盟无疑让HSA阵营更加完善。目前包括ARM、Imagination、LG、高通、三星和德克萨斯仪器等公司都已加盟HSA基金会。

楚含进提到,国外的异构平台的工程师中,华人和中国人占了很大分量,异构计算作为计算机组成结构已经逐渐普及到学生的教材中。而在国内,目前这方面的教育刚刚开始。对教育领域来说,楚含进认为,当前计算机系的许多毕业生才刚刚接触异构计算的编程,一方面是因为异构计算的编程非常难,很多编程方法易用性较差,另一方面,目前他们还没有很好地看到这个领域的潜力,“国内更多是在跟随,缺少前瞻性。”

基于此,AMD一直努力地在国内培养异构计算方面的人才。比如,他们做了一个异构计算社区,加强国内异构计算人才的交流。同时在中国百所高校做技术培训,并发起了异构计算大赛以及出版异构平台方面的图书,希望通过种种方式培养一批异构人才。

“AMD融合的技术也是开放的技术。并且这种开放最终将能使开发人员以及最终用户受益。AMD把异构软件标准开放,并且提供诸多软件中间件,这是一种‘先人植树后人乘凉’的工作,对我们来说这也是一种对自己产品和技术在业界领先的信心证明。”楚含进说。

猜你喜欢

异构开发者编程
ETC拓展应用场景下的多源异构交易系统
试论同课异构之“同”与“异”
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
吴健:多元异构的数字敦煌
异构醇醚在超浓缩洗衣液中的应用探索
“85后”高学历男性成为APP开发新生主力军
16%游戏开发者看好VR