Portland Group(PGI)可支援新绘图处理器(GPU)和绘图加速器指令式编程模型OpenACC 1.0标准的PGI Accelerator Fortran及C编译器已上市;OpenACC编程标准让程式人员在所写程式中提供暗示或指示功能。
PGI总监Douglas Miles表示,PGI持续为科学工程领域的专家提供更简易、更高效的GPU编程工具,作为PGI Accelerator编程模型的一个子集,OpenACC标准特别适合PGI现有的编译器产品。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减负的精细过程,把运算任务转移到加速器,让开发人员专心最佳化算法和应用功能。指令编程模型的主要好处是可大幅提升应用软体性能,而无需修改底层源代码
PGI Accelerator编译器于2008年首次发布,新版本进一步加强OpenACC标准,为用户提供更强的功能和更高的设计灵活性。PGI Accelerator编译器包括PGI的全套的x86主机性能最佳化技术,其中包括自动SIMD矢量化、自动平行化、过程间分析和行内函式等。
目前PGI Accelerator Fortran和C99编译器可支援在Linux、OS X和Windows系统下执行的x64+NVIDIA系统。所有采用英特尔(Intel)和超微(AMD)x64处理器且内建具有CUDA功能的NVIDIA GPU电脑系统都可支援PGI Accelerator Fortran和C99编译器。PGI 2012编译器12.6版及未来的版本都将支援OpenACC功能。