The PSI Spack Deployment
How to use on Merlin7
Install your own software
# Check if your package is already in Spack
user@login001:~> spack list $pkg_name # e.g opal
# Check the package variants you want to set e.g +cuda +openmp ^openmpi ...
user@login001:~> spack info $pkg_name # e.g opal
# Check the whole dependency tree of your spec and
# if you don't need to set more variants
user@login001:~> spack spec $pkg_name@version +variant1 ^dep1@version ...
# e.g spack spec opal@2022.1%gcc@7.5.0 +mithra ~python ^openmpi@4.1.6 ^openblas
# Install your package
user@login001:~> spack install $pkg_name@version +variant1 ^dep1@version1
# Load your package
user@login001:~> spack load $pkg_name@version +variant1 ^dep1@version1
# Submit your script
user@login001:~> sbatch batch.script
Develop your own software
# Check if your package is already in Spack
user@login001:~> spack list $pkg_name # e.g opal
# Check the package variants you want to set e.g +cuda +openmp ^openmpi ...
user@login001:~> spack info $pkg_name # e.g opal
# Create your own env and load it
user@login001:~> spack env activate --create -p myenv
# Add the spec you want to build to your environement
user@login001:~> spack add $pkg_name@version +variant1 ^dep1@version ...
# e.g spack add opal@master%gcc@7.5.0 +mithra ~python ^openmpi@4.1.6 ^openblas
# Tell Spack you want to develop locally under
# /afs/psi.ch/sys/spack.x86_64_cos3.0/user/$USER/spack-environment/$pkg_name
user@login001:~> spack develop $pkg_name@version
# Install the package locally
user@login001:~> spack install # first time, then you can just use make directly
# Load your package
user@login001:~> spack load $pkg_name@version +variant1 ^dep1@version1
# Submit your script
user@login001:~> sbatch batch.script
How to use on other systems
Install Spack
user@supersystem:~> cd /scratch/$USER
user@supersystem:~> git clone -c feature.manyFiles=true https://github.com/spack/spack.git
user@supersystem:~> . spack/share/spack/setup-env.sh
# Add PSI specific recipes
user@supersystem:~> git clone https://gitlab.psi.ch/lsm-hpce/alps/spack-psi.git
user@supersystem:~> spack repo add $PWD/spack-psi
user@supersystem:~> spack install $pkg_name # -v for verbose
Description
Languages
Python
84.2%
Shell
14.4%
Lua
1.4%