====== 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. ----