意法半导体全资子公司、全球领先的独立高性能计算(HPC)编译器及开发工具供应商Portland Group宣布,可支持新的图形处理其(GPU)和图形加速器指令式编程模型OpenACC® 1.0标准的PGI Accelerator™ Fortran和 C编译器已经上市。OpenACC®编程标准让程序员在所写程序中提供暗示或指示。
Portland Group总监 Douglas Miles表示:“PGI 持续为科学工程领域的专家提供更简易、更高效的GPU编程工具,作为PGI Accelerator编程模型的一个子集,OpenACC标准特别适合我们现有的编译器产品。Fortran 2003和 C语言版 PGI Accelerator编译器可支持高级指令式x64+GPU编程和采用CUDA C/C++/Fortran 扩展语言的GPU编程。”
OpenACC标准由PGI、Cray和NVIDIA三家公司联合创立,同时得到CAPS的支持,于2011年11月在 SC11 大会上首次发布, 与NVIDIA® CUDA® 并行编程架构完全兼容,并可与其互操作。OpenACC 1.0技术规范是这三个创办公司联合开发的,大部分内容来自 PGI Accelerator编程模型。OpenACC应用程序接口(API)描述了一系列把采用标准C、C++ 和Fortran 语言编写的循环调度语句和代码段从主CPU转移到所连接的加速器的编译器指令,让开发人员能够跨操作系统、主CPU和加速器进行代码移植。采用指令编译方法后,开发人员只需一个多平台多厂商兼容代码库,为跨平台和多代应用开发带来诸多优势和便利。
在采用OpenACC标准后,并行程序员可把代码从主CPU移到所连接的加速器上,通过指示(又称指令识别)适合加速的代码段。除向编译器带来并行计算机会外,指令还能用于说明如何向一个特定的加速器高效复制循环语句和如何优化数据移动。指令编程模型为开发人员提供更多开发资源,让编译器执行主CPU减负的精细过程,把计算任务转移到加速器,让开发人员专心优化算法和应用功能。指令编程模型的主要好处是可大幅提升应用软件性能,而无需修改底层源代码。
支持OpenACC的PGI Accelerator编译器
PGI Accelerator编译器于2008年首次发布,新版在以下几个方面进一步强化了OpenACC标准,为用户提供更强的功能和更优的设计灵活性:
·自动生成最佳的循环调度指令
·自动占用共享内存空间
·自动执行归约求和运算(automatic sum reductions)
·与CUDA Fortran和CUDA C/C++互操作
·在有无加速器的条件下,PGI Unified Binary™技术可执行文件均能正常工作
此外,PGI Accelerator编译器包括PGI的全套的x86主机性能优化技术,其中包括自动 SIMD矢量化、自动并行化、过程间分析、 内联函数等。
目前,PGI Accelerator Fortran和C99编译器可支持在Linux、OS X和Windows系统下运行的x64+NVIDIA系统。所有的采用英特尔和AMD x64处理器且内置具有CUDA功能的NVIDIA GPU的计算机系统都支持PGI Accelerator Fortran和C99编译器。PGI 2012编译器12.6版以及以后的版本都将支持OpenACC功能。 已订阅PGI服务的PGI Accelerator授权用户可以免费获得新版编译器,如欲下载免费试用版,请登陆PGI网站:www.pgroup.com/support/trial.htm。如欲了解支持OpenACC标准的PGI Accelerator编译器的产品详情,请访问 http://www.pgroup.com/accelerate。关于OpenACC API和标准的详情,请访问:www.openacc.org.