OpenACC
OpenACC (Open ACCelerators) is a standardized compiler extension to C, C++, and Fortran to offload compute tasks to various accelerators (GPUs, etc.) to allow parallelization in heterogeneous systems (e.g. CPU + GPU). It is deliberately similar to OpenMP. Note that in contrast to MPI, OpenACC is only for parallelization within a node, NOT between nodes.
The following compilers that support OpenACC for C, C++, and/or Fortran and the compiler options to enable it are given in the table below.
Compiler | Option | CPU Offload Option | GPU Offload Option |
---|---|---|---|
Nvidia HPC Compilers, successor to the PGI compilers | -acc | -acc=multicore | -acc=gpu |