Clipper uses the Modules package to present software as modules to cluster users.
Modules allow software to be loaded/unloaded as necessary. The Modules package manages dependencies between modules and can set/unset environment variables so that applications run in the correct environment.
This document describes basic Modules usage.
Modules usage
Listing Available Modules
Use the module avail
command to list available modules. This will display a list of all available modules.
[hpcuser1@clipper ~]$ module avail
------------------------------------------------ /cm/local/modulefiles -------------------------------------------------
boost/1.77.0 cm-setup/9.2 freeipmi/1.6.8 module-git python39
cluster-tools-dell/9.2 cmd gcc/11.2.0 module-info R/4.3.2
cluster-tools/9.2 cmjob ipmitool/1.8.18 null shared
cm-bios-tools cmsh lua/5.4.4 openldap slurm/slurm/21.08.8
cm-image/9.2 cuda-dcgm/3.1.3.1 luajit openmpi/mlnx/gcc/64/4.1.5a1
cm-scale/cm-scale.module dot mariadb-libs python3
------------------------------------------------ /cm/shared/modulefiles ------------------------------------------------
aws-cli/2.13.32 gcc9/9.5.0 lapack/gcc/64/3.10.0 ucx/1.10.1
blacs/openmpi/gcc/64/1.1patch03 gcc10/10.4.0 mpich/ge/gcc/64/3.4.2
blas/gcc/64/3.10.0 gcc11/11.3.0 mvapich2/gcc/64/2.3.7
bonnie++/2.00a gcc12/12.3.0 netcdf/gcc/64/gcc/64/4.8.1
cm-pmix3/3.1.4 gcc13/13.2.0 netperf/2.7.0
cm-pmix4/4.1.1 gdb/10.2 nvhpc-byo-compiler/23.3
cuda12.0/blas/12.0.1 globalarrays/openmpi/gcc/64/5.8 nvhpc-hpcx/23.3
cuda12.0/fft/12.0.1 hdf5/1.12.1 nvhpc-nompi/23.3
cuda12.0/nsight/12.0.1 hdf5_18/1.8.21 nvhpc/23.3
cuda12.0/profiler/12.0.1 hwloc/1.11.11 openblas/dynamic/(default)
cuda12.0/toolkit/12.0.1 hwloc2/2.7.1 openblas/dynamic/0.3.18
default-environment intel-tbb-oss/ia32/2021.4.0 openmpi/gcc/64/4.1.2
fftw3/openmpi/gcc/64/3.3.10 intel-tbb-oss/intel64/2021.4.0 openmpi4/gcc/4.1.2
gcc8/8.5.0 iozone/3_492 py-tensorflow/2.14.0_py39
Listing Loaded Modules
Use the module list
command to list loaded modules. This will display a list of all loaded modules.
[hpcuser1@clipper ~]$ module list
Currently Loaded Modulefiles:
1) dot 2) R/4.3.2 3) aws-cli/2.13.32 4) default-environment 5) gcc/11.2.0 6) slurm/slurm/21.08.8
Loading Modules
Use the module load
command followed by the name of the module to load the module. For example, to load the GNU Compiler Collection (GCC) version 12 module, run the following command:
[hpcuser1@clipper ~]$ module load gcc12
Unloading Modules
Use the module unload
command followed by the name of the module to unload the module. For example, to unload the GCC version 12 module, run the following command:
[hpcuser1@clipper ~]$ module unload gcc12
Purging All Loaded Modules
Use the module purge
command to unload all modules, including sticky modules. This will completely reset your module environment.
[hpcuser1@clipper ~]$ module purge
Default Modules
Clipper loads a minimal number of modules by default. As of November 7, 2023, the default environment includes:
- The Slurm job scheduler
- Version 11.2.0 of the GCC compiler
- The R programming language
- The AWS CLI for interacting with Amazon Web Services
- Dot, a special module which appends the current directory to your PATH environment variable.
Python is available through the default system PATH and is not part of the modules system currently.
Additional Resources
For more information on using Modules, please refer to the official documentation: https://modules.readthedocs.io/