Skip to content

Software Setup

OS

NFS

Users

Modules (Lmod)

Spack

Installing (like here):

bash
git clone --depth=2 --branch=releases/v1.1 https://github.com/spack/spack.git ~/spack
source ~/spack/share/spack/setup-env.sh
spack list

Pre-installed compilers should be automatically recongnized by spack. You can check yourself with spack list or spack compiler list, they will appear with an [e] for external. If not, you can add them with:

bash
spack compiler find

or, more verbosely:

bash
spack compiler find /path/to/compiler/bin/

Installing

Parameters:

  • program@version
  • ^dependency: dependency (direct or transitive), applied to the root package
  • %dependency: direct dependency (like compiler), applied to the root or any by ^ specified intervening dependency
  • +variant or -variant/~variant: enables or disables a variant of program, f.ex. +cuda or ~mpi
  • %virtual=provider: pending description, but f.ex. %c,cxx=gcc %fortran=oneapi for using different compilers fro c,c++ and fortran

Environments

Creating:

bash
spack env create <name>
spack env activate <name>

Specifying:

bash
spack add <package>

Installing:

bash
spack concretize #find a consistent set of versions and dependencies for the packages
spack install

Removal:

bash
spack env deactivate
spack env rm <name>

Spack find arguments

TODO

Anaconda

Intel OneAPI

Compilers

GCC

LLVM

InfiniBand

Driver

Optional: Configuring Switch

OpenSM

IPoIB

Nvidia Driver

MPI

OpenMPI

IntelMPI

HPC-X

Slurm