Five modern, currently-supported compiler families are free-to-use for C, C++ and Fortran.
GCC has broad support of modern standards on a very wide range of computing platforms. GCC’s downside in some cases can be slower runtime performance than compilers having less broad language and platform support.
|g++||C++20 with special compile flags needed for initial C++20 module support|
Hi Michael, The oneAPI Toolkit will remain free of charge with support provided through community forums. There will also be paid products available which include professional support.— Intel Support (@IntelSupport) June 25, 2020
The Intel performance libraries like MKL, IPP, TBB and more are available at no cost with more liberal use terms.
|icpc||C++17 with initial C++20 support|
LLVM Clang and Flang have significant industry support, including from Nvidia, and are known for high performance, but somewhat less language feature support and less broad platform support than GCC.
|clang++||C++20 with special compile flags needed for initial C++20 module support|
Nvidia HPC SDK is free to use, and has performance comparable to Intel compilers in many cases. Nvidia has superseded the PGI compilers with the HPC SDK. A key feature of the HPC SDK compilers is intrinsic support for CUDA Fortran.
IBM XL compilers are currently for POWER CPUs only e.g. ppc64le. IBM XL compilers do not work with a typical x86-based computer. If you have a $3000 Raptor IBM POWER9 desktop, then IBM XL may be for you.
The IBM XL compilers are high-performance compilers that have a free community edition. IBM XL Fortran has wide support for Fortran 2008. However, the XL compilers have bugs in newer language support, so be sure to check with another compiler on the IBM system like GCC if a bug is suspected.
IBM Fortran 2008 reference