Triton Software Modules
Triton software versions (and dependencies) are deployed through Lmod, an upgraded Environment Modules suite.
https://lmod.readthedocs.io/en/latest/010_user.html
Please note, different modules will be shown/hidden depending on the compiler that is loaded. The below examples are performed with the gcc/8.3.1 compiler loaded.
Module Commands
Shortcut commands are also available :
Command |
Shortcut |
Description |
---|---|---|
module list |
ml |
list currently loaded modules |
module avail |
ml av |
list available modules, based on currently loaded hierarchies (compilers, libraries, etc.) |
module avail pkgName1 |
ml av pkgName1 |
search available modules, based on currently loaded hierarchies |
module is-avail pkgName1 |
ml is-avail pkgName1 |
check if module(s) can be loaded, based on currently loaded hierarchies |
module spider |
ml spider |
list all modules |
module spider pkgName1 |
ml spider pkgName1 |
search all modules |
module keyword word1 |
ml keyword word1 |
search module help and whatis for word(s) |
module spider pkgName1/Version |
ml spider pkgName1/Version |
show how to load a specific module |
module load pkgName1 |
ml pkgName1 |
load module(s) by name (default version) |
module load pkgName1/Version |
ml pkgName1/Version |
load module(s) by name and version |
module unload pkgName1 |
ml -pkgName1 |
unload module(s) by name |
module reset |
ml reset |
reset to system defaults |
module restore |
ml restore |
reset to user defaults, if they exist |
module help pkgName1 |
ml help pkgName1 |
show module help info |
module whatis pkgName1 |
ml whatis pkgName1 |
show module version info |
module show pkgName1 |
ml show pkgName1 |
show module environment changes |
Triton Standard Environment
The StdEnv on Triton contains the default configurations for the cluster.
show loaded modules with
module list
orml
show StdEnv settings with
module show StdEnv
orml show StdEnv
[username@login1 ~]$ ml
Currently Loaded Modules:
1) gcc/8.3.1 2) StdEnv
[username@login1 ~]$ ml show StdEnv
----------------------------------------------------------------------------
/share/mfiles/Core/StdEnv.lua:
----------------------------------------------------------------------------
help([[ Lua Help for the Standard Environment module configurations on Triton
]])
whatis("Description: loads standard environment modules")
load("gcc/8.3.1")
Triton available modules
Available modules at login include the compilers under “Compilers”, compiler-independent modules under “Core”, and modules dependent on the currently loaded compiler.
*Note :* some modulefiles are marked (E) for Experimental. As with all software, please report any issues to hpc@ccs.miami.edu.
show loaded modules with
module list
orml
show module help info with
module help NAME
orml help NAME
show module whatis info with
module whatis NAME
orml whatis NAME
show available modules with
module avail
orml av
show module settings with
module show NAME
orml show NAME
load a module with
module load NAME
orml NAME
[username@login1 ~]$ ml
Currently Loaded Modules:
1) gcc/8.3.1 2) StdEnv
[username@login1 ~]$ ml help gcc
--------------------- Module Specific Help for "gcc/8.3.1" ---------------------
The GNU Compiler Collection includes front ends for C, C++, Objective-C,
Fortran, Ada, and Go, as well as libraries for these languages.
[username@login1 ~]$ ml whatis gcc
gcc/8.3.1 : Name : gcc
gcc/8.3.1 : Version : 8.3.1
gcc/8.3.1 : Target : power9le
[username@login1 ~]$ ml av
----------------------- /share/mfiles/Compiler/gcc/8.3.1 -----------------------
R/3.6.3 libxsmm/1.16.1 (E)
R/4.0.3 ncview/2.1.8 (D)
R/4.0.5 (D) netcdf-c/4.8.0
R/4.1.0 netcdf-fortran/4.5.3
cmake/3.19.2 openbabel/3.0.0
cmake/3.20.2 (D) openblas/0.3.13
ffmpeg/4.3.2 openblas/0.3.14 (D)
fftw/3.3.9 openfoam/2012 (D)
gdal/2.4.4 openmpi/4.0.5
gdal/3.3.0 (D) openssl/1.1.1k
gromacs/2021.1 pandoc/2.7.3
gsl/2.6 parallel-netcdf/1.12.2
hdf5/1.10.7 perl/5.32.1
jags/4.3.0 plumed/2.8.0
lammps/20200721 python/3.8.10
lammps/20210310 (D) smpi/10.02
libgit2/1.1.0 wrf/4.2
libicov/1.16
------------------------ /usr/share/Modules/modulefiles ------------------------
dot module-info modules null use.own
------------------------------ /share/mfiles/Core ------------------------------
StdEnv (L) libiconv/1.16
anaconda2/2019.07 (E) libpciaccess/0.13.5
anaconda3/biohpc (E) libxml2/2.9.9
anaconda3/2019.07 (E) ncl/6.3.0
anaconda3/2019.10 (E,D) ncview/2.1.2
anaconda3/2020.11 (E) netlib-scalapack/2.0.2
anaconda3/2023.03 (E) numactl/2.0.12
cellranger-atac/3.0.2 (E) openblas/0.3.7
cellranger-dna/3.0.2 (E) openfoam/2006
cellranger/3.0.2 (E) vmd/1.9.4 (E)
cmake/3.20.2 wml/1.6.1 (E)
cuda/10.1 wml/1.6.2 (E)
cuda/10.2 (D) wml/1.7.0 (E,D)
gaussian/16 wml_anaconda3/2019.10 (E)
java/8.0 (D) xz/5.2.4
java/8.0-6.5 zlib/1.2.11
lammps/2019.08
--------------------------- /share/mfiles/Compilers ----------------------------
at/12.0 gcc/7.4.0 gcc/8.4.0
gcc/4.8.5 (D) gcc/8.3.1 (L) xl/16.1.1.4 (E)
Where:
D: Default Module
E: Experimental
L: Module is loaded
Use "module spider" to find all possible modules.
Use "module keyword key1 key2 ..." to search for all possible modules matching
any of the "keys".
..
[username@login1 ~]$ ml show gcc
----------------------------------------------------------------------------
/share/mfiles/Compilers/gcc/8.3.1.lua:
----------------------------------------------------------------------------
whatis("Name : gcc")
whatis("Version : 8.3.1")
whatis("Target : power9le")
help([[The GNU Compiler Collection includes front ends for C, C++, Objective-C,
Fortran, Ada, and Go, as well as libraries for these languages.]])
prepend_path("MODULEPATH","/share/mfiles/Compiler/gcc/8.3.1")
family("compiler")
prepend_path("INFOPATH","/opt/rh/devtoolset-8/root/usr/share/info")
prepend_path("LD_LIBRARY_PATH","/opt/rh/devtoolset-8/root/usr/lib64:/opt/rh/devtoolset-8/root/usr/lib:/opt/rh/devtoolset- 8/root/usr/lib64/dyninst:/opt/rh/devtoolset-8/root/usr/lib/dyninst:/opt/rh/devtoolset-8/root/usr/lib64:/opt/rh/devtoolset-8/root/usr/lib")
prepend_path("MANPATH","/opt/rh/devtoolset-8/root/usr/share/man")
prepend_path("PATH","/opt/rh/devtoolset-8/root/usr/bin")
prepend_path("PKG_CONFIG_PATH","/opt/rh/devtoolset-8/root/usr/lib64/pkgconfig")
prepend_path("PYTHONPATH","/opt/rh/devtoolset-8/root/usr/lib64/python2.7/site-packages:/opt/rh/devtoolset-8/root/usr/lib/python2.7/site-packages")
setenv("PCP_DIR","/opt/rh/devtoolset-8/root")
setenv("PERL5LIB","/opt/rh/devtoolset-8/root//usr/lib64/perl5/vendor_perl:/opt/rh/devtoolset-8/root/usr/lib/perl5:/opt/rh/devtoolset-8/root//usr/share/perl5/vendor_perl")
[username@login1 ~]$ ml smpi
[username@login1 ~]$ ml
Currently Loaded Modules:
1) gcc/8.3.1 2) StdEnv 3) smpi/10.02
Triton module hierarchies
Switch to a different compiler with the module swap
command. Any dependent modules should also swap, if both versions exist. The SMPI module has both a gcc version, and an at/12.0 version.
show currently loaded modules with
ml
show smpi module help with
ml help smpi
switch from gcc to at with
ml swap gcc at
orml -gcc at
note the Lmod “reload” message for the smpi module
(confirm smpi is loaded with
ml
)
show smpi module help with
ml help smpi
(a different smpi module)reset to Triton defaults with
ml reset
[username@login1 ~]$ ml
Currently Loaded Modules:
1) StdEnv 2) gcc/8.3.1 3) smpi/10.02
[username@login1 ~]$ ml help smpi
-------------------- Module Specific Help for "smpi/10.02" ---------------------
Lua Help file for IBM smpi 10.02 with devtoolset-8 GCC suite
gcc version 8.3.1
sets OMPI_CC, OMPI_FC, and OMPI_CXX to AT gcc suite
[username@login1 ~]$ ml -gcc at
Due to MODULEPATH changes, the following have been reloaded:
1) smpi/10.02
[username@login1 ~]$ ml
Currently Loaded Modules:
1) at/12.0 2) StdEnv 3) smpi/10.02
[username@login1 ~]$ ml help smpi
-------------------- Module Specific Help for "smpi/10.02" ---------------------
Lua Help file for IBM smpi 10.02 with Triton IBM AT 12.0 gcc suite
gcc version 8.3.1
sets OMPI_CC, OMPI_FC, and OMPI_CXX to AT gcc suite
[username@login1 ~]$ ml reset
Resetting modules to system default. Resetting $MODULEPATH back to system default. All extra directories will be removed from $MODULEPATH.
[username@login1 ~]$ ml
Currently Loaded Modules:
1) gcc/8.3.1 2) StdEnv
More hierarchies and dependencies
Dependency modules can be loaded in the same command, without waiting for them to appear in the output for module list (ml av
).
Example: cdo, nco, and netcdff depend on “netcdfc”. Netcdfc depends on “hdf5”. They can be loaded in sequence, starting with the first dependency, “hdf5”.
[username@login1 ~]$ ml gcc/4.8.5 hdf5 netcdfc netcdff cdo nco
The following have been reloaded with a version change:
1) gcc/8.3.1 => gcc/4.8.5
[username@login1 ~]$ ml
Currently Loaded Modules:
1) gcc/4.8.5 4) netcdfc/4.7.4 (E) 7) cdo/1.9.8 (E)
2) StdEnv 5) netcdff/4.5.3 (E)
3) hdf5/1.8.16 (E) 6) nco/4.9.3 (E)
To view dependent modules in ml av
, first load their prerequisites.
“Behind the scenes”
After an hdf5 module is loaded, any available netcdfc modules will show in ml av
output :
load the default hdf5 module with
ml hdf5
show loaded modules with
ml
show available modules with
ml av
: netcdfc module now available to loadload the default netcdfc module with
ml netcdfc
show newly available modules with
ml av
: netcdff, nco, and cdo now available to load
[username@login1 ~]$ ml hdf5
[username@login1 ~]$ ml
Currently Loaded Modules:
1) gcc/4.8.5 2) StdEnv 3) hdf5/1.8.16 (E)
[username@login1 ~]$ ml av
------------------- /share/mfiles/Library/gcc485/hdf5/1.8.16 -------------------
netcdfc/4.7.4 (E)
----------------------- /share/mfiles/Compiler/gcc/4.8.5 -----------------------
hdf5/1.8.16 (E,L) myGCCdependentProgram/1.0 (S) openmpi/3.1.4
hwloc/1.11.11 openBLAS/0.3.7 smpi/10.02
...
..
Once both hdf5 and netcdfc are loaded, ml av
shows the next set of dependent modules :
[username@login1 ~]$ ml netcdfc
[username@login1 ~]$ ml
Currently Loaded Modules:
1) gcc/4.8.5 2) StdEnv 3) hdf5/1.8.16 (E) 4) netcdfc/4.7.4 (E)
[username@login1 ~]$ ml av
------------ /share/mfiles/Library/gcc485/netcdfc/4.7.4/hdf5/1.8.16 ------------
cdo/1.9.8 (E) nco/4.9.3 (E) netcdff/4.5.3 (E)
------------------- /share/mfiles/Library/gcc485/hdf5/1.8.16 -------------------
netcdfc/4.7.4 (E,L)
----------------------- /share/mfiles/Compiler/gcc/4.8.5 -----------------------
hdf5/1.8.16 (E,L) myGCCdependentProgram/1.0 (S) openmpi/3.1.4
hwloc/1.11.11 openBLAS/0.3.7 smpi/10.02
...
..