NVIDIA, Cray Inc., the Portland Group (PGI), and CAPS enterprise have unveiled a new programming standard for parallel computing that they call 'OpenACC'.
The programing environment on not only desktops and laptops but even mobiles and tablets is becoming increasingly heterogeneous, as nearly all devices now include a GPU in addition to the CPU. The architectures of both are vastly different and so are the programming methods and technologies.
While multi-core devices are now the norm, older applications have still not fully begun to take advantage of parallel computing. This is because fundamental changes are required in any code, and it need to be re-architected so parts of it work in parallel. This can be a difficult and time-consuming process; and this is where OpenACC comes in to alleviate the situation. With OpenACC developer have a way of taking advantage of the systems graphics hardware without modifying the code itself.
By providing hints - or as they are called in OpenACC terms, "directives" - to the compiler about what areas of the code can be accelerated, the compiler can do a some of the hard work. Using these directive boosts of 2 to 10 times have been seen in application performance, according to the data collected.
Compilers from Cray, PGI, and CAPS will begin providing support for the standard beginning the first quarter of 2012. The standard can also work with NVIDIA CUDA, which is NVIDIA's standard for running general purpose code on their architectures.
Jeffrey Vetter, joint professor in the Computational Science and Engineering School of the College of Computing at Georgia institute of Technology says, "OpenACC represents a major development for the scientific community. Programming models for open science by definition need to be flexible, open and portable across multiple platforms; OpenACC is well designed to fill this need. It provides a valuable new tool to empower the vast numbers of domain scientists who could benefit from application acceleration, but who may not have the funding or expertise to port their code to emerging architectures."
More information about the standard can be gleaned from the website: www.OpenACC-standard.org. Trial versions of PGI's Fortran and C compilers including directives-based programming support can be downloaded from NVIDIA's website .