优异专业卡降临!CUDA市场总经理专访
泡泡网显卡频道5月29日 近日NVIDIA举行了一次专访活动,在活动中NVIDIA公司CUDA市场总经理Sanford Russell以及中国区公关经理金洋为大家详细讲解了关于通用计算以及CUDA 4.0的一些相关技术,令大家充分了解到了CUDA 4.0在通用计算市场所具备的优势。
● NVIDIA公司中国区公关经理金洋:
Sanford Russell是负责GPU计算的全球总监,简单来说就是负责CUDA的。这次过来主要跟大家介绍一下CUDA4.0,再介绍一下CUDA这几年在业界的变化,或者说整个公司,包括一些大学、一些利用CUDA赚钱的公司怎么看CUDA的,一些最新的变化跟大家分享一下。
● NVIDIA公司CUDA市场总经理Sanford Russell:
谢谢大家今天来参加这个活动。我是Sanford Russell,是CUDA的市场总监。我从1997年就加入了NVIDIA公司,曾经做过产品相关的工作,也做过开发者,所以在这个职位之前有一些其他方面的经验。从2007年开始,我们就开始了GPU计算方面的工作,当时主要是了解客户的需求,然后有逐步的架构和软件的进行。大家如果有什么问题,关于过去还有关于现在以及如何发展到今天这一步的问题,都可以问。
我这个团队所从事的主要工作是围绕着整个硬件的生产系统所有的这些开发者、编程和合作伙伴,还有我们所支持的软件开发出来的语言对于GPU计算的支持,包括像C/C++、Fortran、Direct等等这些。这张图就可以说明我们日常工作的关注内容。
三、四年之前,我们主要关注的工作是在语言、编译器这一块,最近一、两年更多的工作放在了像数学库,以及如何在整个平台上实现成本的管理,特别是像娱乐集群,有些用户会用非常多的GPU,可能是几百台,甚至可能是更大规模的集群,所以涉及到这上面两块,一个是集群的管理,还有工具和合作方、合作者这一块有专门的团队来负责这方面的工作,随着我们的产品和技术的成熟,这方面工作的量也会越来越大。
上面所指的涉及到的是与软件开发公司之间的合作,这个在公司有另外一位高层来负责这方面的工作。针对于每一个具体的应用行业,像油气、制造业、金融、化学、生物等等,这些专门的行业都有专门指定的人和相应软件的开发合作伙伴一起工作。现在围绕CUDA已经有一个非常大的团队,一开始只有4个人,现在有一个非常大的团队,而且是分属不同的业务部门。所以GPU计算对于我们公司来说是具有战略性的,不仅仅是一个简单的产品,可是你看到的只是一个简单的东西,但是背后有很多的东西,包括软件。
● NVIDIA公司中国区公关经理金洋:
NVIDIA并不像很多人认为的那样,只是简单地做Tesla,做CUDA,这是初期的事情。现在考虑真正让用户将GPU的硬件和CUDA集成在一起。我们做了很多管理工作,做了很多支持工具和沟通工作,使得我们这边的支持和服务让用户真正可以方便的应用到GPU,而不仅仅简单的说这是一个卡,我们真正从头到尾一步一步给用户支持,让他真正实现利用GPU的性能。
● NVIDIA公司CUDA市场总经理Sanford Russell:
这个是过去两年当中,我们开展非常重要的工作方面,涉及到研究和教育方面。这对于现在GPU的工作来说是非常重要的一块,因为在五、六年之前,可能这是比较新的领域,但是现在可以看到,已经有很多大学他们已经开设了GPU的课程。右边是CUDA的教学中心,中间这个是CUDA的研究中心,左边是CUDA的卓越中心,卓越中心在中国有两个。从这个上面就可以看出,现在整个CUDA的研究还有教学增长非常迅速,规模也是越来越大。很多大学现在都有CUDA的相关课程,主要是使用C和C++语言,往往本来就有C语言的课程,现在再加入了与CUDA相关的内容。全世界总共有400多家大学有与CUDA相关的教学课程,这样从全世界的地域来说有一个很好的覆盖性,同时通过这些大学毕业出来的学生,他们都掌握了GPU编程的能力。
这些是一些与CUDA有关的书,左下角两本是新出的,叫《GPU COMPUTING GEMS》,书很厚,有800页左右。大学的教授要编这些书,就请大家提交相关材料,后来提交的相关文章太多了,结果就编了两本书,因为如果一本书有1600页就太多了,所以最终出了两本书。
从我们的角度来说,有一点希望大家能够非常清晰的认识到,我们对于GPU计算的看法不是把CPU和GPU对立起来,应该是CPU+GPU,从而实现非常好的的性能。为了实现非常好的的性能,就需要能够充分利用CPU所有的核再加上GPU的能力。
这就是GPU编程,对于GPU编程来说,就是把里面这些关键的功能可以用GPU进行加速的功能给挑出来,而这些应用代码现在主要都是用C语言来写的。为什么CUDA的C语言会有这么多的人去用?因为它本来就是一个用的比较多的语言,我们所提供的是一个C语言的编译器,使得这些编译者可以直接对GPU进行编译。除此以外,我们有一些合作方他们提供的解决办法,像PGI的解决办法,他们的做法是类似的,只是用的不是C语言,是Fortran语言。现在主要用的比较多的是C语言和Fortran语言,而对于API来说,处于非常低层,因此现在要通过编程来使用是比较麻烦的。但是我们相信随着时间的推移,可能这一点会有所改善。但是无论对于API还是对于语言本身,我们对会对它进行支持,这个是我的策略。所以现在支持的像C语言、C++、Fortran、OpenGL,还有Direct等等都有支持的,我们有合作伙伴在做.net的工作,这也让我们感到非常振奋,因为这样可以和微软整个语言系列结合起来。
这是我们的行业合作伙伴的图片,大家可以看到,就从这个架构上来说,我们看垂直的行业,我们公司内部的架构上,也是把这个架构跟这些垂直的行业匹配起来。现在就行业和研究的覆盖范围已经相当大了,但随着时间,我们希望把更多的行业和领域纳入进来,这样就要求以支持更多的语言或者支持更多的语言特性或者添加库,这些就是我们现在要开展工作的地方。比较新的一个行业就是制造业,制造业本身也是非常重量级的行业,比如像汽车、飞机、火车,还有巴士、轮船等等,他们的设计很多都会用到这个软件。