Support for the OpenACC
parallel programming standard for heterogeneous CPU/GPU systems has been added to GCC's Fortran compiler front-end.
As of this morning the GCC Fortran front-end supports the OpenACC 1.0 standard developed by Cray, NVIDIA, and other companies for simplified parallel programming on heterogeneous CPU/GPU platforms. The main benefit of OpenACC over OpenMP is the GPU support, but the GNU Compiler Collection doesn't yet have this capability.
Samsung has been one of the companies working on GCC Fortran support for OpenACC
while Mentor Graphics / Code Sourcery in conjunction with NVIDIA have been working on OpenACC 2.0 for GCC with GPU support
, which has been causing controversy
since the announcement last year. The GPU support in the GCC compiler involves adding a NVIDIA PTX back-end to GCC
while these other non-GPU OpenACC approaches involve implementing OpenACC via OpenMP
With GCC's Revision 208533
, the work led by Samsung for OpenACC 1.0 in Fortran has been merged. OpenACC itself comes mostly down to new programming directives and a new run-time library. The changes that landed are just support for the Fortran front-end and not any GCC back-ends or support for C or C++ with OpenACC.