OpenACC Version 2.0 Posted for Comment
The OpenACC standards group is pleased to announce the draft of the new OpenACC Version 2.0 specification at the SC12 conference. This version includes new capabilities and expanded functionality to accommodate the rapidly evolving landscape of HPC accelerators.
OpenACC Version 2.0 allows for superior performance in parallelizing code and an improved developer experience. The performance is derived from new controls over data movement, including better handling of unstructured data and improvements in support for non-contiguous memory.
“OpenACC is an open standard designed to be easy to use, and performance portable across multiple architectures,” said Duncan Poole, President of OpenACC. “Our goal is to provide the developer ecosystem with a comprehensive and robust model for portable accelerator programming. We look forward to incorporating public feedback into this draft as well as features new to accelerators, such as dynamic parallelism, in the final version.”
In addition, the OpenACC 2.0 developer experience is simplified with support for explicit function calls and separate compilation, allowing the creation and reuse of libraries of accelerated code. The draft specification also includes clarifications to the previous 1.0 standard. An OpenACC certification suite has been created in collaboration with OpenACC member University of Houston intended to ensure multiple OpenACC compilers behave similarly in order to create a more uniform user experience.
OpenACC is a programming standard for parallel computing using directives, designed to enable millions of scientists around the world to easily take advantage of the transformative power of computing systems equipped with heterogeneous CPU/Accelerator systems. OpenACC provides the easiest way for scientists, with or without extensive parallel programming expertise, to accelerate their research in a matter of hours using familiar programming models. For more information, please visit us at www.openacc.org.
Recent announcements at SC12 from OpenACC partners:
- CAPS enterprise support for OpenACC on CARMA platform with their compiler
- The Portland Group support for K20 and K20X, NVIDIA Kepler architecture, as well as AMD APUs and GPUs by the PGI Accelerator compiler Allinea and Totalview support for cluster debugging of OpenACC directives for scientists using the Cray Compilation Environment, used on the recently announced Titan Supercomputer
“Programming using OpenACC directives plays an important role in moving legacy applications to our new hybrid Tier0 architecture CURIE while minimizing custom code needed,” said Stephane Requena, CTO, GENCI, one of the four hosting members of the Partnership for Advanced Computing in Europe (PRACE). “We are excited to see continued investment in programming models for lower-power platforms, such as NVIDIA's Kepler architecture and ARM-based CARMA platform.”
More information about the draft OpenACC 2.0 specification is available via the OpenACC website at http://www.openacc.org/downloads. Please visit http://www.openacc.org/SC2012 for a guide to the many talks and sessions during the SC12 conference, including an OpenACC Birds of a Feather discussion and hosted debate on Programming Models for Accelerators. Additionally, please visit our partner booths for demonstrations and examples of OpenACC applications.
The OpenACC Application Program Interface describes a collection of compiler directives to specify loops and regions of code in standard C and Fortran to be offloaded from a host CPU to an attached accelerator, providing portability across operating systems, host CPUs and accelerators. OpenACC allows programmers to provide simple hints (directives) to the compiler, identifying which areas of code to accelerate. By exposing parallelism to the compiler, directives allow the compiler to do the detailed work of mapping the computation onto the accelerator. OpenACC enables users to create a single code base that runs on heterogeneous many-core accelerators as well as multi-core systems, making scaling application performance easier and more portable than ever. It also offers an ideal way to preserve investment in legacy applications. For more information about OpenACC, visit the www.openACC.org web site.
24/7 Consulting for OpenACC
Jimme Peters, 503-289-5354