AMD楚含进:异构计算标准化 为开发者提供更高效平台

异构计算技术从80年代中期产生,由于它能经济有效地获取高性能计算能力、可扩展性好、计算资源利用率高、发展潜力巨大,目前已成为并行/分布计算领域中的研究热点之一。在最近召开的2012中国软件开发者大会(SDCC)DOIT记者就近期比较热门的异构计算技术采访了AMD中国开发合作与解决方案中心总监楚含进先生。

AMD致力于异构计算标准化 为开发者提供更高效平台

在采访中,楚含进先生表示,从整个计算机发展史和软件发展史可以清楚地看到,从最先单片机编程到基于DOS的编程,到后来基于多核使用多线程的领域,用户体验逐渐成为软件设计考虑的主要因素。以前所有的软件都围绕CPU为中心编程,后来会某些专有做特定处理的模块集成到硬件中如视频处理,声音处理模块;集成到一个芯片或者一个SOC里面进行实现,给上层提供给许多用户尤其是开发者是API,将众多的库封装调用,在操作系统之上。后来有OPEN SOURCE的各类项目,大家贡献,大家共享。到了现在在多核变得非常非常普及,甚至也出现了云计算。在多核状态下,软件需求很大,但是效率反而成为了问题,应用的丰富使得一味增加CPU并不能解决所有问题。

随着用户需求和用户体验要求的提高,CPU和GPU性能已经成为消费者购买计算机决定因素。异构计算是从计算机诞生那天起就有的概念,只是那时的需求还没有达到要求技术革命的水平。AMD是为用户在CPU和GPU的平衡上的一种技术革命。AMD提的异构计算是一个技术领域里面一个名词,AMD在异构计算里面最大的贡献是把CPU和GPU以及未来可用于专门处理某种特定功能引擎集中在一颗芯片里,这是不是简单的堆砌,这是内存共享,Cache的一致性,编程模型,工艺等都需要有大量的技术革新。

在推行异构计算的时候并不是面临困难,实际问题是真正的程序人员或者是软件技术人员使用这个平台的时候如何方便写出高的代码,如何容易地利用CPU和GPU的优势做出创新的应用,而不是为了用GPU去学习CPU。这个要靠两类人去做,一个是真正开发人员去使用,还有就是像一些比较专注于计算的大公司,在开发自己软件产品的时候,会考虑使用这个平台,并考虑如何优化这个平台,让自己的软件和系统变得性价比比较高。而作为硬件提供商,不但要考虑自己的硬件设计,更重要的是提供一个容易开发的平台让开发人员去开发软件。

所以AMD在意识到软件开发生态系统的重要性之后,知道单独靠AMD一家是很难支撑的,所以就需要将异构系统标准化,和ARM等公司共同发起异构系统基金会(HSA Foundation),让从服务器,PC到移动终端领域的开发者享受这些优势,从而可以衍生现在更多更新的应用。同时,AMD也希望在软件领域给客户带来包括一系列中间件、抽象层、开发工具、OPEN SOURCE的库,增加对GPU支持,这样会使异构计算变得很完善。

异构计算现在刚刚开始,中国的软件技术使用往往有些滞后,但是我们也不比担心这个,这种技术在中国在未来的两三年一定会看到大量的基于CPU和GPU的融合应用。如果你现在看到一些公司像ARM也在移动领域上把异构技术引入到移动计算上,这也是为开发者带来创新性应用的手段。

软件和硬件互相驱动 相辅相成

楚含进先生表示,不管是软件技术,还是硬件技术,技术的驱动本身就是互相的,它们实际上是融合的。从本质上来看,硬件的革命需要花费的周期比软件革命的周期要长。一个应用提出来就刺激很多硬件工作者具体来说就是CPU工作者去想去实现,然后硬件的革命把这些需求转化成让更多应用,又促进更大大规模应用需求,经过若干年硬件的性能或者是功耗就被提高到了极致,新技术又驱动软件工作者创造出更新型的应用。所以说这两种技术是互相融合的,而且融合也是一种趋势,这种趋势在软件和硬件两个方面都有表现。

同时,他还表示,硬件厂家在考虑硬件设计的时候一定要确定提供终端用户的不是一个赤裸裸一个技术,而是要更多考虑到如何提供一系列开发工具,如何提供一系列的软件模块,让上层的软件开发人员更好去使用技术,而软件的开发人员在使用这些技术和这些工具的时候,花更多时间去思考他的应用是如何做到的扩展应用,而不是如何了解的芯片、如何使用这个工具。

中国软件开发技术在提高 但缺少沉淀

楚含进先生表示,从国际上来看,所有写程序的不是除了印度人就是中国人。而且中国的软件公司已经开始形成了团队工作。在中国软件工程师能力提高,竞争力提高的同时,我们也要看到中国的技术团队缺少沉淀,缺少实质性的创新。

对于缺少创新的原因,楚含进先生认为,这是因为我们的软件工程师对自己和对产品的定位缺少深入的思考,他们没有深入思考自己的软件设计和产品。相比于美国的公司来说,这些方面我们的创新是不够的。甚至我们要落后两到三年的时间。而且中国软件的同质化问题比较严重,其根本原因就是自己的软件没有创新性。这里所说的没有创新性不是说软件人员、编码效益或者是编码人的水平很差。而是说主导这个软件设计产品架构的人在定位这款软件产品的时候没有提高自己软件门槛,没有敢于使用一些前沿技术。而这种软件门槛石需要沉淀的,是需要花时间去经营软件设计理念的。这正是中国编码人员比较缺少的。

但是,随着国际交流的增多,这是会很快就有弥补的。而且现在国内的软件人员也越来越认识到自己的这个缺点,现在也有越来越多的人员在探讨软件算法问题。同事,由于异构的产生,这些算法在异构平台的合理使用又可以提高了软件的效率和门槛。

AMD选择合作伙伴更看重技术含量

在最后关于AMD选择合作伙伴方面,楚含进先生表示,不管公司是大还是小,只要CTO或者主管产品的人都愿意提高自己的技术或者是提高产品的质量,不管这个产品是AMD平台的还是非AMD平台的,这都是一件值得鼓励的事情,而且也都是AMD愿意合作的。而且AMD愿意无私地从技术方面给中国公司以帮助。

AMD在中国从研发到商务,到生产,再到芯片设计都有庞大的团队,而且AMD也在中国做到了真正意义的技术投入,也帮助了中国技术人员的成长。