Compilers and Interpreters

Many different compilers, interpreters, and environments are provided, which are organized by programming language below. Additional compilers, interpreters, and environments for some these languages and other languages can be installed via Spack.

Note

Loading and unloading modules for C, C++, and Fortran compilers can change what other modules are visible in the NHR Modules (nhr-lmod) and SCC Modules (scc-lmod) software stacks. Specifically, modules for packages built-by/associated-with the compiler aren’t visible until the compiler module is loaded. For example, the intel-oneapi-mpi module is not visible in the NHR Modules (nhr-lmod) software stack until after the intel-oneapi-compilers module is loaded.

C

Info

Build tools might require that you set the environmental variable CC to the compiler program (e.g. export CC=icx) if you aren’t using GCC (gcc).

C++

Info

Build tools might require that you set the environmental variable CXX to the compiler program (e.g. export CXX=icx) if you aren’t using GCC (g++).

Fortran

Info

Build tools might require that you set the environmental variables F77 and FC to the compiler program (e.g. export F77=ifx FC=ifx) if you aren’t using GCC (gfortran).

Go

Julia

Python

R

  • R (r), reference implementation

Rust