Skip to content

E4S 22.11 - Perlmutter

The e4s-22.11 stack is built using the Spack branch e4s-22.11 on Perlmutter using the gcc, nvhpc, and cce compilers. This stack can be loaded by running:

module load e4s/22.11

You can also load the same software stack via module load spack/e4s-22.11

Here is a breakdown of the installed specs by environments:

Spack Environments Compiler Root Specs Implicit Specs Total Specs
gcc gcc@11.2.0 78 294 372
cuda gcc@11.2.0 27 72 99
nvhpc nvhpc@22.5 5 7 12
cce cce@15.0.0 9 13 22

Spack Configuration

When you load the e4s/22.11 module you will see several environments with it's own isolated software stack. You can list the environments by running the following:

elvis@perlmutter> spack env list
==> 4 environments
    cce  cuda  gcc  nvhpc

To activate a environment you can run the following:

elvis@perlmutter> spack env activate -V gcc

Overview

You can see a list of all available packages via spack find. If you want to see packages in a particular environment, you must activate the environment first. For example, to see packages in gcc environment you can run

spack env activate -V gcc
spack find

Alternatively you can list packages without activating an environment by using the -e flag with name of environment.

spack -e gcc find 

If you want to format the output of spack find you can use the --format flag. Shown below is a useful command one can run to see list of packages

spack -e gcc find -x --format "{name}@{version}%{compiler} {variants} /{hash:7}

A few useful spack find commands you can use when querying packages

# list all hdf5 package with full hash, variants, prefix, and dependencies
spack -e gcc find -Lvpd hdf5

# list all root (explicit) specs
spack -e gcc find -x

# list all implicit (dependencies) specs
spack -e gcc find -X

# list all root specs dependent on mpi
spack -e gcc find -x ^mpi