This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Spack - a package manager for HPC systems ====== * Article written by Jan Zabloudil (VSC Team) <html><br></html>(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: <code bash> spack find </code> List all available packages which have been compiled with gcc 9.1.0: <code bash> spack find %gcc@9.1.0 </code> ---- ===== Essential commands, continued ===== List all available versions of a particular package: <code bash> spack find openmpi </code> List all available versions of a package which have been compiled with intel@19.0.5.281: <code bash> spack find openmpi %intel@19.0.5.281 </code> List all available variants of a particular package (detail level can be specified with options): <code bash> spack find openmpi@3.1.4 spack find -l openmpi@3.1.4 spack find -lv openmpi@3.1.4 </code> ---- ===== Essential commands, continued ===== List all available variants of Scipy compiled with intel and intel-mkl for python3: <code bash> spack find -lvd py-scipy %intel@19.0.5.281 ^python@3.7.4 ^intel-mkl </code> Load a specific version of Scipy and all its dependecies: <code bash> spack load -r /dv72zy3 </code> ---- ===== Spack modules ===== Modules are of the general form: <code bash> package/<version>-<compiler>-<version>-<hash> </code> e.g. <code bash> module load python/3.7.4-intel-19.0.5.281-x3acxqc </code> The hash **x3acxqc** reflects all dependencies of the package and corresponds to the hash found when using the command: <code bash> spack find -ld <package> </code> 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. ---- pandoc/introduction-to-vsc/13_spack/01_spack.txt Last modified: 2020/10/20 08:09by pandoc