The free and open-source GNU Compiler Collection (GCC) supports among others Linux, Solaris, AIX, MacOSX, Windows, FreeBSD, NetBSD, OpenBSD, DragonFly BSD, HPUX, RTEMS, for architectures such as x86_64, PowerPC, ARM, and many more.
Code offloading to NVIDIA GPUs (nvptx) and the AMD Radeon (GCN) GPUs Fiji, Vega and Instinct (MI 100 and MI 200 series) is supported on Linux.
OpenMP 4.0 is fully supported for C, C++ and Fortran since GCC 4.9; OpenMP 4.5 is fully supported for C and C++ since GCC 6 and partially for Fortran since GCC 7. OpenMP 5.0 is partially supported for C and C++ since GCC 9 and extended in GCC 10. Since GCC 11, OpenMP 4.5 is fully supported for Fortran and OpenMP 5.0 support has been extended for C, C++ and Fortran. GCC 12 has the initial support of OpenMP 5.1 and extends the OpenMP 5.0 coverage. GCC 13 implements several of the OpenMP 5.2 features and extends the OpenMP 5.0 and 5.1 support; furthermore, AMD’s Instinct MI 200 series is now supported.
The GCC 14 development branch extends the OpenMP 5.0/5.1/5.2 coverage and contains performance improvements for offloading. The devel/omp/gcc-13 (OG13) branch augments the GCC 13 branch with OpenMP and offloading features, including relevant backports from the GCC 14 development branch.
Compile with -fopenmp to enable OpenMP.
GCC binary builds are provided by Linux distributions, often with offloading support provided by additional packages, and by multiple entities for other platforms – and you can build it from source.