扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
ZDNet至顶网服务器频道 11月08日 新闻消息(文/王涛):在高性能计算领域,GPU(图形处理器)绝对是一项火热的技术,凭借在浮点运算方面的明显优势,GPU已经成为超算系统中用于加速运算的重要工具,在近几年的TOP500榜单中,CPU+GPU架构已经成应用的主流,异构方式已经被誉为突破百亿亿次计算的有利途径。
提到GPU,就不得不提起NVIDIA(英伟达)公司,这家以显卡起家的半导体公司如今已经将GPU推向了更广阔的通用计算,其产品遍布HPC超算、桌面、移动终端三大领域。
在近期举办的中国高性能计算学术年会(HPC China 2012)上,来自NVIDIA公司Tesla事业部的CTO Steve Scott发表了主题演讲《GPU Computing and the road to Exascale》,介绍了GPU如何帮助高性能计算用户通向百亿亿次级计算,在会后,Steve Scott接受了ZDNet记者的采访,并分享了NVIDIA Tesla GPU的新进展。
Steve Scott去年8月份加入NVIDIA公司,也是NVIDIA全新Kepler架构的总设计师,之前在克雷公司供职19年之久,在其中后六年里担任高级副总裁兼首席技术官,负责确立克雷公司的技术方向以及制定系统架构发展路线图。他持有27项美国专利,这些专利涵盖了互联网络、处理器微架构、高速缓存一致性、同步化机制以及可扩展并行架构等领域。
NVIDIA公司Tesla事业部的CTO Steve Scott
以下为NVIDIA公司Tesla事业部CTO Steve Scott接受ZDNet记者采访实录:
记者:
我了解到Kepler架构有一个亮点,就是用虚拟化技术的支持,但是我们知道在高性能领域,这种CPU利用率是相当高的,所以虚拟化技术是很难体现出来,在加速运行这种虚拟化应用并不多,您是如何看待虚拟化在高性能计算应用的一个现状和未来的发展?
Steve Scott:
在高性能计算领域其实虚拟化的应用并不是非常广泛,对于NVIDIA(英伟达)而说,现在我们主要是在图形化和云计算结合这边,在虚拟化方面投了很多的精力,比如在民用级的GeForce这块我们有GRID这个技术,使得用户可以通过网络利用到云端强大的GeForce计算能力,虚拟化的去玩游戏,或者做其他一些图形的应用。
对于专业的用户来说,我们有VGX这样一个解决方案,也是类似。专业的用户可以通过网络,利用云端Quadro这样一个高性能计算能力的产品,使得多用户在云端可以使用到很多Quadro计算能力,使这种可能成为现实。我们现在主要是在云计算这一块将我们GPU虚拟化的工作做得最好。
记者:
我比较关注架构分成的问题,刚才您谈到了咱们通过OpenACC开放平台可以在GPU上运行,也可以在CPU系统上运行,我原先跟一些老师聊过,他们对于高性能计算编程这块是最大的一个挑战。NVIDIA(英伟达)对这种高性能计算编程这一块,包括程序的可应用型,编程的简化,有一些什么样的计划?
Steve Scott:
用CUDA编程和OpenACC有区别的,CUDA是自然一种方式,可以利用到GPU最好的性能,它比较适合从一个零开始去做这个工程的时候,用CUDA去编程是比较合适的。OpenACC是比较适合已经做完的工程,已经做完的程序,比较大量的工作,如果你要用CUDA,可能要重新去编程了,工作量比较大,可能时间也比较多,这个时候OpenACC可以是一个比较简便的方式,可以通过标记的方式就可以利用到GPU的性能,虽然这个性能可能不如CUDA提升那么明显,但确实是一个比较好的方式。
OpenACC我们现在有全球有很多的合作伙伴,他们都有自己的OpenACC的编译器。他们刚才提到的其实我们OpenACC出来的程序不只是支持GPU,像X86多核的架构的体系也都是支持的。可能未来这些第三方的编译器也会支持到英特尔MIC这样一个体系,所以说OpenACC本身支持的范围还是非常广的。此外OpenACC是OpenMP的一部分,虽然英特尔现在还并不能支持OpenACC,但是相应在以后OpenMP包含了OpenACC之后,英特尔也会逐渐去支持这种标记型的语言。
我们了解到我们的合作伙伴,他们其实未来计划都会支持很多不同厂商的体系,包括NVIDIA(英伟达)的CUDA,还有英特尔的MIC,还有AMD的解决方案。未来OpenACC这些第三方的编译器也都支持。
另外我补充两点,第一点你写新程序的时候,一定要清楚CUDA不是一门语言,是一个架构,所以在CUDA上面原来用C语言,可以用任何语言写,所以我们CUDA C就是这样的一个架构,CUDA实际上是你做新程序的时候,非常自然决定了CUDA。比如说50万的程序你可以用CUDA,50万的程序可以从里面200行改起,也可以从100行改,也可以逐步地改。当然OpenACC是更适合做已经存在几十年的程序,这个时候做标识非常的简单。就是对于一个程序,因为搞专业的人,他们对继承性非常得看重。这个人今天用的程序,当然我退休了,或者离开了,下一个才能维护这个程序,所以可读性和可维护性非常非常的重要,这个就是OpenACC在起的作用。
在这一点里面,实际上CPU也是一样的,牵扯到我要补充的第二点,第二点就是CPU怎么做,CPU从单核发展,从04年开始变成四核和六核,其实我们把CPU和GPU这样一比较就可以看得很清楚。CPU到双核,到四核,到今天的十六核,它怎么做,它也没有办法。所以要写并行,从单线程到多线程的做法是什么,就是用OpenMP,OpenMP也是一个开放的国际标准,GPU上面我们叫OpenACC。现在OpenMP组织,已经表示OpenMP有一天会支持我们的OpenACC的标准,就是在CPU里面支持OpenACC标准以后,编出来的东西,自然通用的编译器,就支持可以不同平台。你一个新的编译器,你写好了标准程序,一套程序支持不同的平台,这就是对这些写程序的一个梦想,这是他们想要做的。
记者:
我们在去年谈到了Maximus这样一个解决方案,一年以后的今天Maximus是一个什么样的状况,因为从我在与工作站厂商接触当中,恐怕很少提到这一方面,我想了解一下。
Steve Scott:
我们这边其实有很多好的消息,关于Maximus一些销售上的成绩,但是这边没有并没有准确可以分享给你的部分,但是Maximus目前推广的效果是非常好的。可以看我们的展台上,我们播放一个视频,就是电影公司利用Maximus的平台,为一些电影做一些特效,像卢卡斯公司,他们做得很多电影,实际上都是在Maximus平台上做的,这个都是在一些后台,所以有很多人并不了解,这都是在Maximus做的一些东西。
记者:
关于Tesla的定位,也就是说现在我们更多看到Tesla跟“超算”一起出现的,最开始的时候,NVIDIA(英伟达)还提出了个人超算的概念,这个概念现在我们已经把它pass,还是说我们还会继续有这一方面呢?
Steve Scott:
其实从应用角度来讲一下个人高性能计算和高性能计算中心的一些区别,其实对于Tesla来说有很多的应用,比如说面向个人的是在大学这边,很多在大学中的应用是用一个Tesla,或者用几个Tesla,专门是服务他自己研究的一种加速,因为这边可以针对这一个应用进行非常好的编程效果,得到的加速效果一般都是10倍、20倍或者30倍,所得到的效果也是非常令人满意。而且它的应用相对来说比较不像高性能计算中心运行那么复杂,自己的应用可能比较简单,所以通过自己的编程和对于相对简单的应用优化,它的性能加速一般都是很高的。对于高性能计算中心所使用的一些应用来说,可能通过初期的编程只能得到三倍或者五倍的提升,不像个人应用这边提升的倍数那么明显。
记者:
提到关于未来在编程方面,GPU加CPU这种架构编程方面,有一个很完美的想法,就是面向各个领域统一的中间件的解决方案,可以很大程度上解决编程这样一个难题,NVIDIA(英伟达)在这一块有没有一些想法和计划?
Steve Scott:
NVIDIA(英伟达)做了一个叫LLVL,这是一个国际标准,NVIDIA(英伟达)遵循这个标准,然后开放我们的编译框架,然后这个框架已经在网上可以查到编译器LLVL框架,有了这个框架,编程者就可以把他的东西嫁接到我们开放的编译环境的框架里面,然后就可以移植过来。将来我们不仅仅是支持像他们这种中间件,另外其他的高级语言,这些语言都可以通过我们底层虚拟机制,这样给我们的GPU框架进行结合,我们还是做了很多很多这样的工作。但是高层的这些接口可以通过API来解决这个问题。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者