Table of Contents
Spack & Modulefiles
Spack is a package management tool designed to support multiple versions and configurations of software on a wide variety of platforms and environments.
For most of the software in GWDG SCC we use Spack to install them.
Moreover, Spack allows you to install necessary software yourself if it is provided by the large Spack repository.
We support 2 ways of using software in GWDG SCC:
- With Modulefiles
- With Spack
To load the software using modulefile, run the following command:
module load SOFTWARE/VERSION
To list available modules, run
Please note: by default it will show only the modules compiled by GCC and OpenMPI, if you want the software compiled by Intel or with Intel MPI, corresponding modules should be loaded first to see them (
intel-oneapi-compilers for Intel compiler and
intel-oneapi-mpi for IntelMPI). To use intel MPI, then you need to load
intel-oneapi-compilers module first.
If you want to list all available modules, then run
In order to use Spack, you need to load the corresponding module first:
module load spack-user
Please note: some commands of Spack require extra shell functionality and you need to source the environment script. You can run the command below and follow the instructions in the output message:
Now Spack is ready and you can use
spack load command to load necessary software or
spack install SPEC to install the software.
In most cases, it is enough to know the package name to install the software. For instance, if you want to install
zlib, then you can simply run the following command:
spack install zlib
In general, you need to provide a specification and dependencies for the command
spack install, where you can select versions, compiler, dependencies and variants. To learn more about Spack specification, please visit the documentation.
Since, we have multiple CPU architectures in the SCC, if the software can be accelerated with Cascadelake's registers like AVX512, then you can specify a target as an argument:
spack install gromacs target=cascadelake
By default, the software is compiled for Haswell architecture.
Note: Software installed as modules are already built for both targets and the corresponding version of the software will be used depending on the machine, where the job is running.
To learn more about Spack and how to install software you can go through its tutorial
There are multiple modules related to Intel software:
intel-oneapi-compilers- consists only of Intel compilers
intel-oneapi-mpi- consists of Intel MPI compiler wrappers and Intel MPI runtime
intel-parallel-studio- consists of libraries (MKL, TBB, IPP, DAAL) and tools (VTune Profiler, Advisor, Inspector, ITAC)