天河一号A称霸!超级计算未来属于GPU
记者:现在异构计算越来越流行了,GPU的带宽能比CPU的带宽高好几倍,这么高,可能对每一个节点之间的互联也造成了很大的压力。在NVIDIA公司看来,目前的这种MPI的架构是不是已经达到一种瓶颈了,或者说在某些方向已经影响了互联的操作,未来有没有可能出现新的语言架构替代MPI?不知道NVIDIA怎么看来这个问题?
Andy Keane:计算本身是了解整个过程中存在什么样的局限和限制,之后让软件工程师或者计算机工程师寻找一些方法来跨越这些局限。所以,你刚才所提出的那个因素,应该是一个非常关键的因素,使得超级计算机可以大规模的进行灵活的扩展,主要是它跨越了互联项目的一些局限。如果这个系统是用Linpack来测量的话,因为要传递很多的数据,所以整个网络上会面临很大的数据压力。
根据我过去26年在计算领域的一些经验和体会,你们还会继续看到,这个行业在不断的发展,将会有更多的创意,一个接一个而来,你们接下来还会看到更多的创意和创新。比如说我们的处理器速度越来越快,这就意味着我们需要的总线数量也就越来越多,他们之间的互联性应该也是越来越好。不管怎么样,总会存在一定的局限和瓶颈,但是我们的工程师会想各种的办法跨越这些局限。
所以说,现在和过去的差异在哪里?你在新的系统中,我们用的是中国基本的技术,把它应用在高性能计算机中,使它的速度更快,而且扩展性更高。
记者:以前NVIDIA公司自己也设计编程,从显卡到后来的CUDA编程,NVIDIA公司越来越多的进入标准领域,以后高性能计算里面也会涉及到标准,比如MPI也是一种标准。你们作为主导GPU混合计算的领头企业,是否会提出一些更好的互联标准或者互联语言架构,比如像CUDA这样的GPU技术混合架构?
Andy Keane:从CUDA向系统级别这样的转换,在这个过程中,我们将和大量的合作伙伴一起来做,比如说HP、IBM,我们都会和他们一起做。就MPI来说,用这个例子你就可以理解了,比如说我们会和MPI整个开发者社区一起努力,同时也会把他们扩展到CUDA或者其他的软件,和他们进行结合。这个过程,一方面我们会在MPI一起和开发社区努力,同时我们也会考虑如何融合其他的软件。这是一个合作的过程,我们会做贡献,也会做出我们这一部分的努力。
记者:在你的履历里面,有在英特尔里面工作过,我们也知道,英特尔也在开发类似于显卡的内核架构的这种产品,可能它组装的是一种统一的编程架构,因为它都是X86。从英伟达来看的话,怎么看未来分支的状况?一种是传统的CPU的多核的架构,你怎么看待未来的这种竞争?
Andy Keane:即便是英特尔这边的发言人,他们在描述未来存在的问题时候,已经描述很好了,对于大型的超性能计算机来说,最主要的不是和X86兼容不兼容的问题,而是它的能源的问题。所以我们看一下计算系统的未来,在过去以及在未来都会经历多种过渡,比如说从低一级向高一级性能的过渡,成本也有一定的变化。你看一下超级计算系统的历史,我们之前从主机逐渐发展到Deck Alpha,之后到A1860,一直到现在的X86,最后这一步主要是出于低成本的考虑,同时也希望能够降低电耗,但是它的耗电量还是比较高的。所以说,我们接下来要面临的新的问题是什么呢?低成本是一个考虑,另外能耗怎么能够降低,是目前的一个挑战。
刚才我们看到的是过去的一些变化,看未来得话,我们要分析一下,未来面临什么样的挑战呢?两个挑战:一是编程的挑战,用什么语言呢?也许是基于CUDA语言的架构,当然我们也会考虑其他的语言,不仅仅局限于CUDA,这是一个挑战;另外,也是英特尔和NVIDIA公司不太一样的地方。如果把 X86核拿出来之后,如果要进行大型扩展的话,应用起来冷却是一个很重要的问题。我们的首席科学家Bill Dally也提出了很多的证据和数据,如果想进行进一步的发展和改变的话,首先我们要考虑平衡好能耗,还有高性能计算之间的关系。你要基于什么样的架构,而且这个架构一定是非常节能的架构,才能继续发展高性能计算。X86是不可以实现的,也许是未来的GPU或者其他的技术。
所以说,超性能计算跟手机也一样,我们也看到手机在不断的发展,有的手机用PC的操作系统,比如X86的核,有的是用内建的操作系统,但是它能够提供浏览网页和收发E-mail的功能。一些旧的系统我们可以摒弃,不是说要完全沿用下来,我们一定要进行创新,这样才能够解决功能上的问题,我想这也是高性能计算未来的发展趋势吧。
CUDA并不是编程语言,而是一种体系架构
记者:NVIDIA公司的产品现在对于OPENCL标准兼容性如何?在未来的话,你们怎么看待OPENCL标准在未来编程方面的前景?
Andy Keane:我们的主营业务就是卖GPU,至于软件,我们的独立供应商用什么的软件,用什么样的语言,对我们有什么要求,我们就按照他们的语言来进行运用,包括OpenCL、CUDA、Fortune,Pascal以及JAVA,我们都是根据他们的语言来应用GPU。所以我们的竞争对手,他们一般在做宣传的时候会说什么什么是你的选择,比如说OPENCL,他会说OPENCL是你们的选择,但是我们也看到了,我们是可以支持多种语言的OPENCL、CUDA、Pascal以及JAVA。不管软件供应商有什么样的要求,我们根据他们的要求就提供什么样的GPU,包括一些产品的驱动也好,双精度也好,其他扩展的功能也好,我们都可以去网站上免费下载。不管是开发商有什么样的需求,我们都会提供,都是可以兼容的。
金洋:再补充一点,有些人认为OPENCL是开放的,我们CUDA是不开放的,其实实际并不是这样的,我们这边非常支持OPENCL的标准,他们可能只有一个OPENCL,我们是唯一一家可以使用的、支持OPENCL计算的厂家。除了OPENCL之外,如果我们的消费者要用到其他的语言,C++、CUDA、JAVA的语言,我们都可以提供支持,我们GPU支持所有可以实现的语言。所以我们并不是决策者,决定哪种语言我们支持,决策者是用户,他们需要什么样的语言,我们提供什么样的语言。而且OPENCL组织的主席是NVIDIA公司现在的副总裁,可以说OPENCL在NVIDIA公司不断的推广,不断的支持下,OPENCL才可以得以壮大。所以我们对于OPENCL和对于其他语言的支持,我们都会全力的支持,任何一种用户会用到的语言,可以实现GPU高性能计算的规模性的发展,我们NVIDIA公司GPU都是支持的。 <