One of PGI's goals is to increase productivity and provide performance portability for applications developed and maintained by science and engineering domain experts", stated Douglas Miles, Director of The Portland Group. "The OpenACC standard was developed in direct response to the HPC community's interest for a vendor-neutral, platform-independent, directive-based accelerator programming model. Adding PGI Accelerator support for AMD APUs and GPUs is the latest step in the evolution of OpenACC and compiler technology for heterogeneous parallel computing at PGI."
Unveiled in November 2011, the OpenACC API was developed by PGI, Cray, and NVIDIA, with support from CAPS Entreprise. OpenACC is already supported by PGI compilers on NVIDIA GPUs with the CUDA parallel-programming architecture. The OpenACC 1.0 specification was developed in co-operation by the founding members and is based on the PGI Accelerator programming model. The OpenACC 2.0 specification has just recently been ratified.
The OpenACC Application Programming Interface (API) describes a collection of compiler directives to specify loops and regions of code in standard C, C++ and Fortran. These regions can be offloaded from a host CPU to an attached accelerator, providing portability across operating systems, host CPUs and accelerators. By exposing parallelism to the compiler, directives allow the compiler to do the detailed work of mapping the computation onto the accelerator to deliver significant improvements to application performance. Using directives, developers can have a single code base that is multi-platform and multi-vendor compatible, a key advantage for multi-platform and multi-generation application development.
In a recent poll of over 1200 OpenACC evaluators, over 70% of the respondents found OpenACC easy to use and more than 75% reported seeing a speed-up when running on an accelerator.
"AMD is very pleased with the beta release of the PGI Accelerator Fortran, C and C++ compilers with support for the OpenACC API that targets AMD APUs and discrete GPUs", stated Margaret Lewis, director, server software planning at AMD. "OpenACC is being adopted by HPC researchers and programmers as they look for easier ways to take advantage of the benefits of accelerated computing. OpenACC provides a straight forward means for programmers to accelerate their applications using familiar programming techniques. It also provides a path for legacy applications to maintain code portability and still take advantage of the newest high-performance heterogeneous parallel computing architectures."
The first Beta release of the PGI Accelerator compilers with support for the OpenACC standard on AMD dGPU and APU platforms is available now on a limited basis, with an open Beta release currently scheduled for later in 2013. The Beta software includes a restricted-use license and the license agreement is available at www.pgroup.com/support/BTLA .