2024-06-11 08:32:43 +02:00
2023-04-27 08:06:59 +00:00
2023-04-27 08:06:59 +00:00
2024-05-29 16:14:57 +02:00
2023-04-27 08:06:59 +00:00

The PSI Spack Deployment

Official Spack documentation

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
No description provided
Readme 936 KiB
Languages
Python 84.2%
Shell 14.4%
Lua 1.4%