OpenACC to the Rescue

Initially developed by PGI, Cray, and Nvidia, with support from CAPS, OpenACC is a new open parallel programming standard designed to enable the millions of scientific and technical programmers to easily take advantage of the transformative power of heterogeneous CPU/GPU computing systems.

OpenACC allows parallel programmers to provide simple hints, known as "directives", to the compiler, identifying which areas of code to accelerate, without requiring programmers to modify or adapt the underlying code itself. By exposing parallelism to the compiler, directives allow the compiler to do the detailed work of mapping the computation onto the accelerator. Directives provide a common code base that is multi-platform and multi-vendor compatible, offering a way to preserve investment in legacy applications by enabling an easy migration path to accelerated computing.

Migrating your applications to CUDA or OpenCL is the biggest impediment to GPU adoption. You would think that it would be easy to get developers to rewrite their code to obtain a 50X speedup in performance... but you would be wrong. While some developers are always willing to adopt the latest and greatest technologies... many are either not willing to or not permitted to by management. OpenACC may be just the thing to help get more wide spread adoption.

Existing compilers from Cray, PGI and CAPS are expected to provide initial support for the OpenACC standard beginning in the first quarter of 2012. The OpenACC standard is fully compatible and interoperable with the Nvidia parallel programming architecture.

ClusterChimps © 2009