User Tools

Site Tools


SPACK - a package manager for HPC systems

Official documentation of SPACK

Available on the following clusters:

  • VSC-4

List available Packages

Most software on VSC4 is installed via spack, to list available software packages use:

spack find

List all available packages compiled with a specific compiler:

spack find %gcc@9.1.0

A specific version can be requested as well:

spack find openmpi@4.1.0

List a specific version compiled with a specific compiler:

spack find openmpi@4.1.0%gcc@9.1.0

The detail level of information can be specified with the following options:

spack find -l openmpi@4.1.0%gcc@9.1.0
spack find -lv openmpi@4.1.0%gcc@9.1.0
spack find -lvd openmpi@4.1.0%gcc@9.1.0

The latter lists all dependencies of the package.

Dependencies: dependencies of software packages can be specified with a ^. e.g.:

spack find -lvd py-scipy %intel@ ^python@3.7.4 ^intel-mkl

This will list all available versions of py-scipy which have been build with python@3.7.4 and any version of intel-mkl.

Loading modules

The spack command can be used to load software modules. The general form is:

spack load <package>

package has to be a uniquely defined software package where all dependencies have been resolved, e.g.:

spack load openmpi@4.1.0%gcc@9.1.0

This will load the corresponding module:

# module list
Currently Loaded Modulefiles:
 1) openmpi/4.1.0-gcc-9.1.0-2cmze2s

and is equivalent to loading the module as:

module load openmpi/4.1.0-gcc-9.1.0-2cmze2s

Alternatively a package can be loaded by using the unique hash of a package. The option -l will display the short hash of a package:

# spack find -l openmpi@4.1.0%gcc@9.1.0
==> 1 installed package
-- linux-centos7-x86_64 / gcc@9.1.0 -----------------------------
2cmze2s openmpi@4.1.0

The hash 2cmze2s uniquely identifies the package and can also be used to load the software module:

spack load /2cmze2s
LDAP: couldn't connect to LDAP server
doku/spack.txt · Last modified: 2022/03/04 07:16 by dfischak