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 and Vega 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. The next release, GCC 11, will fully support OpenMP 4.5 for Fortran and extend the OpenMP 5.0 support for C, C++ and Fortran; the devel/omp/gcc-10 (og10) branch augments the GCC 10 branch with OpenMP and offloading features, mostly from GCC 11 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.