支持OpenACC的编译器：PGI, Cray, CAPS 和 GCC。下面是 gcc 对 OpenACC 支持的介绍。
All – GCC 6.1 was released withimproved OpenACC support – see below for key OpenACC highlights.
PGI is still NVIDIA’s go-tocompiler for OpenACC.
GCC 6.1’s improved supportfor OpenACC is an important step in making the standard pervasive.
Noteworthy as well, GCC 6.1C++ default is now C++14 (-std=gnu++14 instead of -std=gnu++98)
GCC 6.1 OpenACC highlights
· GCC 6.1 wasreleased 04/27 with improved support for OpenACC:
o Standard supported: OpenACC 2.0a
o Compilers: C, C++ and Fortran
o Accelerators: NVIDIA GPUs
§ Power8 support is broken in GCC 6.1 – though a functional March snapshot isavailable from Mentor Graphics
· OpenACC 2.0asupport status in GCC 6.1:
o Recommend using parallel constructs ifpossible:
§ Additionally,specify explicitly number of gangs, workers, and vector length clauses forbetter performance
o Avoid kernels constructs as there are performance andfunctionality limitations
· How to get GCC 6.1?
o As of end of April 2016, GCC 6.1 is not yetadopted in new Linux distributions
o Fedora 24 (ETA June 2016) will adopt GCC6.1 as a default compiler, it is anticipated (not POR) that Ubuntu 16.10 willadopt GCC 6.1 or later version
· GCC OpenMP 4.5status:
o The OpenMP 4.5 specification is fullysupported in GCC 6.1 for the C and C++ compilers
§ thecompiler can be configured for OpenMP offloading to Intel XeonPhi KnightsLanding and AMD HSAIL
§ Supportfor NVPTX is under development in the gomp-nvptx branch, not supported in GCC6.1.
o GCC can now generate HSAIL (Heterogeneous System Architecture IntermediateLanguage) for simple OpenMP device constructs
· OpenACCsupport beyond GCC 6.1 – future work for GCC 7:
o Performance improvements
· ImproveGCC's parallelization of inner loops
· Defaultbehavior of number of gangs, workers and vector length for parallel constructs
o OpenACC 2.5 support