Intro to module
In order to simplify cluster software management (for dependencies e.t.c.) the module
software is used. Usage is pretty simple
- You can see a list of installed modules via
module avail
or use shortcutml avail
. - To check what is loaded use
module list
orml
- To load something use
module load PACKAGE
orml PACKAGE
- To clean your
module
environment typemodule purge
You can also use module environment in your batch scripts for loading needed dependencies.
What is a toolchain
A possible solution to this issue is to define so-calledtoolchainmodules, packaging together a compiler, an MPIlibrary, and one or more packages providing linear algebraand FFT functionality. For example, agoolftoolchain modulemay combine (i.e., implicitly load modules for) a compatiblecombination of specific versions of GCC, Open MPI, Open-BLAS, (Sca)LAPACK and FFTW. In
Toolchains and name conventions
Toolchain is collection of software used for compiling another software. There are several toolchains available:
FOSS 2018b
GNU Compiler Collection (GCC) based compiler toolchain, including OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK. Current version 2018b contains:
GCCcore/7.3.0
binutils/2.30-GCCcore-7.3.0
GCC/7.3.0-2.30
numactl/2.0.11-GCCcore-7.3.0
hwloc/1.11.10-GCCcore-7.3.0
OpenMPI/3.1.1-GCC-7.3.0-2.30
OpenBLAS/0.3.1-GCC-7.3.0-2.30
FFTW/3.3.8-gompi-2018b
ScaLAPACK/2.0.2-gompi-2018b-OpenBLAS-0.3.1
FOSS 2018a
GNU Compiler Collection (GCC) based compiler toolchain, including OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK. Version 2018a contains:
GCCcore/6.4.0
binutils/2.28-GCCcore-6.4.0
GCC/6.4.0-2.28
numactl/2.0.11-GCCcore-6.4.0
hwloc/1.11.8-GCCcore-6.4.0
OpenMPI/2.1.2-GCC-6.4.0-2.28
OpenBLAS/0.2.20-GCC-6.4.0-2.28
FFTW/3.3.7-gompi-2018a
ScaLAPACK/2.0.2-gompi-2018a-OpenBLAS-0.2.20
FOSSCUDA 2018b (Previous GOOLFC)
GNU Compiler Collection (GCC) based compiler toolchain with CUDA support, including OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK. Current version 2018b contains:
GCCcore/7.3.0
binutils/2.30-GCCcore-7.3.0
GCC/7.3.0-2.30
CUDA/9.2.88-GCC-7.3.0-2.30
numactl/2.0.11-GCCcore-7.3.0
hwloc/1.11.10-GCCcore-7.3.0
OpenMPI/3.1.1-gcccuda-2018b
OpenBLAS/0.3.1-GCC-7.3.0-2.30
FFTW/3.3.8-gompic-2018b
ScaLAPACK/2.0.2-gompic-2018b-OpenBLAS-0.3.1
Naming convention
Modules are named with version + toolchain + other software used. Eg: Caffe/1.0-foss-2018a-Python-3.6.4 means CafFe version 1.0, compiled with foss 2018a toolchain and with Python 3.6.4 modules. Caffe/1.0-goolfc-2017b-MATLAB-9.2 means Caffe version 1.0, compiled with goolfc 2017b (GPU support) with Matlab 9.2 mexfiles.