还记得奥巴马之前下令打造计算速度达到百亿亿次(Exaflop)的超级计算机吗?然而随着OpenACC开始支持越来越多的系统架构,实现这一目标并没有那么难。

 

 

 

OpenACC带来了一种简单而强大的方式来加速科学计算应用,它支持Fortran、C以及C++编程语言,开发人员只需要向编译器提供简单的“指令”,不需要修改现有代码,即可将计算任务映射到加速器上,实现高性能移植。

 

 

 

PGI编译器新增针对x86多核CPU的OpenACC支持

 

 

 

现在NVIDIA最新推出了15.10版本的PGI编译器,新增针对x86多核CPU的OpenACC支持。开发者能够对基于OpenACC的源代码进行编译,使其可以在多核CPU或GPU加速器上并行执行。这可为程序员带来巨大的灵活性,让他们能够凭借单一版本的源代码开发出可充分利用多种系统架构的应用。

 

 

 

“我们的目标是让HPC开发者能够利用通用的源代码库在各大CPU与加速器平台上轻松移植应用并实现一致的高性能”,NVIDIA PGI编译器与工具总监Douglas Miles表示:“这种功能在通往百亿亿次级 (Exascale) 计算的竞赛中尤其重要。在这一竞赛中,将会有各种各样的系统架构需要更灵活的应用编程方式。”

 

PGI编译器的这次升级,意味它首次能够在x86多核CPU和GPU上加速OpenACC代码。因此,当你的系统没有配备GPU加速器时,该编译器会在多个x86 CPU核心上完成代码并行化以便提升性能。当系统中有GPU时,该编译器生成的代码能够利用系统中所有可用的核心,最终带来多倍性能提升。

 

 

 

如上图所示,对于HPC应用,在多核CPU上运行MPI+OpenACC的性能表现和运行MPI+OpenMP基本相当。但同样的代码编译到NVIDIA® Tesla® K80 GPU加速器上,相比单CPU线程可以带来最高30倍的性能提升

 

在今后两年中,PGI编译器有望陆续支持当前市面上所有主流的处理器,而这将成为冲击百亿亿次超算系统的关键。

 

 

 

 

英美研究机构评价:高性能移植非常关键

 

 

 

英国原子武器研究所的Wayne Gaudin表示:“在不改动代码的情况下能够在CPU上运行OpenACC并且性能与我们的OpenMP/MPI版本相当,而且在GPU上可实现4倍性能提升,这着实令我们眼前一亮。从高性能移植与代码前瞻性的角度而言,这是非常完美的成绩。”

 

橡树岭国家实验室项目总监Buddy Bland表示:“采用突破性硬件技术需要付出许多代价,将HPC应用从一个平台移植到另一个平台就是其中最重大的代价之一。从Titan这样的超级计算机到美国能源部即将问世的各大系统,针对多核x86 CPU的OpenACC让这些系统上现有的纯CPU应用和GPU应用能够具备延续性和代码移植性,可以在这些系统之间移植。”

 

 

 

OpenACC风头正劲:超90%开发者推荐

 

 

 

自2011年Cray、PGI以及NVIDIA等领先的HPC供应商推出OpenACC编程标准以来,如今已有10,000多名开发者采用这一标准,多项近期的开发成果均凸显出在高性能计算领域中采用OpenACC的重要性越来越高。

 

例如,近期在世界各地举办的黑客松活动中,各个科学领域中的专家均利用加速器和OpenACC来加速其科学应用。这些应用涉及的领域十分广泛,其中包括MRI图像重建、计算流体动力学、宇宙学与天体物理学、量子化学以及计算物理学等等。

 

此外,最近在法国安纳西举办的有关气候与天气的iCAS2大会上,瑞士联邦气象气候局宣布,该局已部署GPU加速版本的COSMO,这是全球首款在 GPU加速器上运行的正式版天气预报应用。

 


瑞士联邦气象气候局部署GPU加速版本COSMO模型

 

在最近一项由150名OpenACC开发者参加的调查问卷中,94%的调查对象报告称,在加速器上运行代码时实现了速度提升。在这些用户当中,90% 以上的人会推荐OpenACC。

    最新资讯:

  • [2016-01-27]