Environment modules

NOTE: There can be naming confusion because of:
– “modules in Python” – files containing Python code that can be imported inside another Python program. Link
– “modules on cluster” – “Environment Modules”. A tool to dynamically change the users’ environment. Link

Video introduction:

IDUN has pre-installed software available for use. Software is installed using the Easybuild software installation tool and Lmod. Use command "module" to load software. User guide for Lmod.

Command examples

module avail                # find all modules
module --show_hidden avail  # find all modules, include hidden
module avail python         # find modules with "python" in the name
module load foss/2023a      # load (activate) module foss/2023a
module list                 # list loaded modules
module whatis foss/2023a    # show description
module purge                # unload modules

Toolchains

Some modules are toolchains. A toolchain is a bundle of modules and frequently used libraries. IDUN has several toolchains:.

Module "foss" - short for "Free and Open Source Software". Load and list loaded dependencies:

$ module load foss/2023a
$ module list
Currently Loaded Modules:
  1) GCCcore/12.3.0                        11) libfabric/1.18.0-GCCcore-12.3.0 (H)
  2) zlib/1.2.13-GCCcore-12.3.0       (H)  12) UCC/1.2.0-GCCcore-12.3.0        (H)
  3) binutils/2.40-GCCcore-12.3.0     (H)  13) OpenMPI/4.1.5-GCC-12.3.0
  4) GCC/12.3.0                            14) OpenBLAS/0.3.23-GCC-12.3.0
  5) numactl/2.0.16-GCCcore-12.3.0    (H)  15) FlexiBLAS/3.3.1-GCC-12.3.0
  6) XZ/5.4.2-GCCcore-12.3.0          (H)  16) FFTW/3.3.10-GCC-12.3.0
  7) libxml2/2.11.4-GCCcore-12.3.0    (H)  17) gompi/2023a
  8) libpciaccess/0.17-GCCcore-12.3.0 (H)  18) FFTW.MPI/3.3.10-gompi-2023a
  9) hwloc/2.9.1-GCCcore-12.3.0       (H)  19) ScaLAPACK/2.2.0-gompi-2023a-fb
 10) UCX/1.14.1-GCCcore-12.3.0        (H)  20) foss/2023a

Module "intel". Load and list loaded dependencies:

$ module load intel/2023a
$ module list
Currently Loaded Modules:
  1) GCCcore/12.3.0                      7) impi/2021.9.0-intel-compilers-2023.1.0
  2) zlib/1.2.13-GCCcore-12.3.0    (H)   8) imkl/2023.1.0
  3) binutils/2.40-GCCcore-12.3.0  (H)   9) iimpi/2023a
  4) intel-compilers/2023.1.0           10) imkl-FFTW/2023.1.0-iimpi-2023a
  5) numactl/2.0.16-GCCcore-12.3.0 (H)  11) intel/2023a
  6) UCX/1.14.1-GCCcore-12.3.0     (H)

Use case example with Python module

List available modules:

$ module available
   . . .
   Anaconda3/2022.10
   foss/2023a
   intel/2023a
   MATLAB/2023a
   Python/3.11.3-GCCcore-12.3.0
   TensorFlow/2.11.0-foss-2022a-CUDA-11.7.0
   . . .

Use this command to show hidden modules:

$ module --show_hidden available

Find module that contains "python" in the name:

$ module available python
. . .
   Python-bundle-PyPI/2023.06-GCCcore-12.3.0
   Python/3.9.6-GCCcore-11.2.0
   Python/3.10.4-GCCcore-11.3.0
   Python/3.10.8-GCCcore-12.2.0
   Python/3.11.3-GCCcore-12.3.0
   Z3/4.12.2-GCCcore-12.2.0-Python-3.10.8

Load and unload modules:

$ module purge
$ module load Python/3.11.3-GCCcore-12.3.0
$ module list

Currently Loaded Modules:
  1) GCCcore/12.3.0                       7) Tcl/8.6.13-GCCcore-12.3.0    (H)
  2) zlib/1.2.13-GCCcore-12.3.0     (H)   8) SQLite/3.42.0-GCCcore-12.3.0 (H)
  3) binutils/2.40-GCCcore-12.3.0   (H)   9) XZ/5.4.2-GCCcore-12.3.0      (H)
  4) bzip2/1.0.8-GCCcore-12.3.0     (H)  10) libffi/3.4.4-GCCcore-12.3.0  (H)
  5) ncurses/6.4-GCCcore-12.3.0     (H)  11) OpenSSL/1.1                  (H)
  6) libreadline/8.2-GCCcore-12.3.0 (H)  12) Python/3.11.3-GCCcore-12.3.0

$ python -V
Python 3.11.3

$ module purge
$ module list
No modules loaded
Scroll to Top