Five free C C++ Fortran compiler families

Dozens of “free” compilers exist for C, C++ and Fortran. However, only five compiler families available at no charge support the modern features of these popular compiled languages. This list covers four compiler families available at no charge that support significant subsets of:

  • C11
  • C++11
  • Fortran 2008

GCC

GCC is the compiler family most commonly looked to for 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.

LLVM

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 C11 support. Since Clang 6, defaults to C11.
  • clang++ C++11 support
  • flang Fortran 2008 support includes submodule. Flang has really great performance compared to GCC. Flang is under heavy development and can be buggy (most commonly, refusing to compile valid code).

PGI

PGI Community Edition is free to use, and has performance comparable to Intel compilers in many cases. PGI ≥ 18.10 should be used for modern Fortran. PGI supports CUDA Fortran.

Intel

Intel compilers are a paid product. For educators and students the Intel compilers are available at no charge for educational purposes.

IBM XL

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 $2000-class 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.

Tags: , ,

Comments

Written by Michael Hirsch, Ph.D. //