1. Home
  2. Docs
  3. Joule 3.0
  4. Compiling Programs
  5. GCC 13.2.0

GCC 13.2.0

The GNU Compiler Collection allows users to compile code using C, C++, and Fortran compilers. Version 13.2.0 is used on Joule 3.0 since it provides native support for the Zen 4 architecture and is compatible with CUDA 12.4. 

Please note that GCC 11.3 is available as the default operating system compiler on the login system. It is recommended to use GCC 13.2.0 over the default operating system compiler.

To use GCC 13.2.0, the appropriate module must first be loaded:

login:~> module load gnu/13.2.0

If MPI is required, it will only be necessary to load:

login:~> module load openmpi/4.1.5/gnu/13.2.0

The following table summarizes the compilers that are available for use after loading the module.

GCC and OpenMPI Compilers

LanguageGCC CompilerMPI Compiler
Cgccmpicc
C++g++mpic++
Fortran 77gfortranmpif77
Fortran 90gfortranmpif90

Many compilations often have dependencies for mathematical library dependencies. The following is a short overview of what can be used for GCC 13.2.0:

BLAS/LAPACK

For LAPACK/BLAS, it is recommended to link against the static OpenBLAS library at /nfs/apps/Libraries/OpenBLAS/0.3.23/gnu/13.2.0//lib64/libopenblas.a

FFTW

Several precompiled FFTW libraries can be found at /nfs/apps/Libraries/FFTW/3.3.10/gnu/13.2.0/openmpi/4.1.5/lib. Linking against the static libfftw3.a and libfftw3_omp.a files offers OpenMP functionality.

scaLAPACK

A static version of the scaLAPACK library that includes BLACS can be found at /nfs/apps/Libraries/ScaLAPACK/2.2.0/gnu/13.2.0/openmpi/4.1.5/openblas/0.3.23. It will also be necessary to link against the OpenBLAS library mentioned under LAPACK/BLAS.

Was this article helpful to you? No Yes

How can we help?