====== Spack - a package manager for HPC systems ======
* Article written by Jan Zabloudil (VSC Team)
(last update 2020-09-17 by jz).
====== Spack - a package manager for HPC systems ======
https://spack.readthedocs.io
----
===== Essential commands =====
List all available software packages:
spack find
List all available packages which have been compiled with gcc 9.1.0:
spack find %gcc@9.1.0
----
===== Essential commands, continued =====
List all available versions of a particular package:
spack find openmpi
List all available versions of a package which have been compiled with intel@19.0.5.281:
spack find openmpi %intel@19.0.5.281
List all available variants of a particular package (detail level can be specified with options):
spack find openmpi@3.1.4
spack find -l openmpi@3.1.4
spack find -lv openmpi@3.1.4
----
===== Essential commands, continued =====
List all available variants of Scipy compiled with intel and intel-mkl for python3:
spack find -lvd py-scipy %intel@19.0.5.281 ^python@3.7.4 ^intel-mkl
Load a specific version of Scipy and all its dependecies:
spack load -r /dv72zy3
----
===== Spack modules =====
Modules are of the general form:
package/---
e.g.
module load python/3.7.4-intel-19.0.5.281-x3acxqc
The hash **x3acxqc** reflects all dependencies of the package and corresponds to the hash found when using the command:
spack find -ld
Disadvantage of using modules: you cannot automatically load all dependencies. This is in particular relevant for:
* python packages
* R packages
which can have a huge list of packages they depend on.
----