Note Spack version 0.19.0 or greater is required for the EAS3 and El Capitan systems. The version of spack can be found with the command: spack --version

Spack treats MPI and GPU libraries as "external" packages, preferring to use basic C/C++/fortran compilers in lieu of MPI or GPU provided compiler wrappers (e.g., preferring to use gcc versus mpicc). Once users are comfortable with using spack, the trick to working on a new system is finding the paths to the correct compilers and system-provided libraries.

Basic Spack User Guide

Check out the Spack Tutorial for a step-by-step guide to getting started with spack. You can also checkout the general Spack documentation for details on a specific spack command.

  1. Once spack is installed, it can easily index compliers available on the system with the command: spack compiler find

    The information that spack detects will be stored in a ~/.spack/linux/compliers.yaml file

    1. This command will look for any compilers in your current $PATH. To find additional compilers, you can load different modules and run the command again.

    2. You can also explicitly pass paths, for example: spack compiler find /usr/tce/packages/cce-tce/cce-18.0.0

  2. Spack has the ability to use system provided libraries and external packages via the spack external find command.