Spack is a package manager developed for HPC which supports combinatorial versioning, i.e. it allows for packages to be built against multiple versions of dependencies and allows for different packages built on the same system to use different versions of dependencies.
A multi-user spack installation is deployed at ALCF and can be accessed via the module system:
$ module load spack
Loading the module will place spack-generated modules available and will also give a message about sourcing the spack setup file. This is highly recommended as it will give access to tab completion and other features. User-specific settings can be placed in the ~/.spack directory, overriding global settings according to the scope rules:
The learning curve for spack can be steep and new users are encouraged to experiment with their own installation of spack (available for cloning from github website) as well as to look to the ALCF multi-user installation for hints as to what appropriate settings may be. With a good understanding of the settings, a user can leverage ALCF’s multi-user installation either directly or as an upstream resource, as described here:
Support requests and feedback for ALCF-specific issues should be directed to email@example.com. For general spack questions, users are encouraged to consult the following resources:
Spack Slack: spackpm.slack.com