The Module System and What is Available
Goal: Introduce the LMOD Module System and the concept of dependencies.
- 1 What Have We Seen
- 2 LMOD: An Environment Module System
- 3 What do we have available?
- 4 What’s available: Using the Module System
- 5 Change Compiler
- 6 Purge Your Modules
- 7 Looking for Modules: module spider
- 8 Module load/spider: Dependencies
- 9 OpenMPI Tree: What Do You Notice?
- 10 What’s different between these command-lines?
- 11 More module commands
What Have We Seen
Although on the login nodes we do have a gcc
compiler and the Python language this only caters for a minority of users.
We can see that R is not available, nor most of the applications that researchers will require.
There are:
10s of compilers and languages
100s of applications and utilities.
1000s of underlying libraries and commands.
We can not provide a system that provides everything all at once.
What we need is a method to enable users to find and select that they specifically need, and a method to allow them to configure and setup their sessions/environment to allow them to perform their analysis and research.
LMOD: An Environment Module System
ARCC: Lmod – Software
What do we have available?
Compilers and eco systems: GNU family, Intel’s oneAPI, Nvidia’s hpc-sdk
Languages: C/C+, Fortran, Go, Java, Julia, Perl, Python, R, Ruby, Rust
Scientific libraries and toolkits: Built with a specific compiler: GNU by default
Standalone applications and utilities: Installed using:
Conda environments.
Containers: running Singularity (not Docker).
We can create a Singularity image from a Docker image.
Linux based Binaries/Executables
Check the MedicineBow Software Page.
What is Available?
What’s available: Using the Module System
# Modules currently loaded.
[]$ module list
Currently Loaded Modules:
1) slurm/latest (S) 2) arcc/1.0 (S)
# What's available within my 'current' environment.
# With respect to what modules I 'currently' have loaded.
[]$ module avail
...
What’s available? Compiler tree
[]$ module purge
[]$ module load gcc/14.2.0
[]$ ml
Currently Loaded Modules:
1) slurm/latest (S) 5) mpc/1.3.1_x86_64
2) arcc/1.0 (S) 6) zlib-ng/2.1.4_x86_64
3) gmp/6.2.1_x86_64 7) zstd/1.5.5_x86_64__programs_True
4) mpfr/4.2.0_x86_64 8) gcc/14.2.0
The gmp
, mpc
, mpfr
, zlib-ng
and zstd
are know as dependencies.
Change Compiler
Purge Your Modules
Looking for Modules: module spider
Module load/spider: Dependencies
OpenMPI Tree: What Do You Notice?
What’s different between these command-lines?
What’s different between these command-lines? Dependencies
More module commands
Prev | Workshop Home | Next |