ULHPC Graviton3E Compilers

Author

Morteza Ansarinia

Abstract

This tutorial describes how to use the compilers available on the ULHPC Graviton3E cluster.

ULHPC Graviton3E Compilers

The default compiler on the ULHPC Graviton3E cluster is an optimized GCC v12.2.0. By default, it can be loaded by running the module load compiler/GCC/12.2.0 command. However, here, we will use the Spack package manager to load the GCC compiler and use it to build the packages.

You can add a new compiler by modifying Spack’s compilers.yaml file (usually in the ~/.spack/linux/compilers.yaml path).

compilers:
- compiler:
    spec: gcc@=12.2.0
    paths:
      cc: /shared/apps/easybuild/software/GCCcore/12.2.0/bin/gcc
      cxx: /shared/apps/easybuild/software/GCCcore/12.2.0/bin/g++
      f77: /shared/apps/easybuild/software/GCCcore/12.2.0/bin/gfortran
      fc: /shared/apps/easybuild/software/GCCcore/12.2.0/bin/gfortran
    flags: {}
    operating_system: amzn2
    target: aarch64
    modules: [ "compiler/GCC/12.2.0" ]
    environment: {}
    extra_rpaths: []

Then you can verify that the compiler is correctly loaded:

spack compiler list

The output should be similar to the following:

==> Available compilers
-- gcc amzn2-aarch64 --------------------------------------------
gcc@7.3.1  gcc@12.2.0