HPC modules

Supercomputer documentation is always a work in progress! Please email questions, corrections, or suggestions to the HPC support team at help-hpc@uky.edu as usual. Thanks!

Software Modules

Access to many applications and libraries is controlled by the modules utility. The module command allows you to easily manipulate your computing environment to use various applications and programming libraries, including older or newer versions than the default. When you need to change your environment you simply load or unload modules. A few commands will do most of what you're likely to need.

Module commands

The module command is the interface to the modules package, which provides for the dynamic modification of your user environment. Since most of our application packages are installed as modules, this allows you to easily load the proper code for your work. Use the man module command or the module --help command to display more detailed information.

module list

List your currently loaded modules. When you first log in, several commonly used modules are automatically loaded for you.

$ module list
Currently Loaded Modulefiles:
1) dot 3) ifort/ 5) mpi/openmpi/intel/1.6.2
2) icc/ 4) imkl/2013.0.079

module avail

List all available modulefiles in the current MODULEPATH. All directories in the MODULEPATH are recursively searched for files containing the modulefile magic cookie. If an argument is given, then each directory in the MODULEPATH is searched for modulefiles whose pathname match the argument. Multiple versions of an application can be supported by creating a subdirectory for the application containing modulefiles for each version.

For example, show all of the amber versions available:

$ module avail amber

----------------- /usr/share/Modules/modulefiles -----------------
amber/openmpi/10p18 amber/openmpi/11p14 amber/openmpi/11p20 amber/openmpi/12p5 amber/openmpi/9p46

Show all of the modules available (this can be lengthy):

$ module avail

----------------- /usr/share/Modules/modulefiles -----------------
ACES/default gaussian/g09/A.02b(default) module-info
MatStudio/4.0/default gcc/4.5.2 modules
MatStudio/4.1(default) gnuplot/4.2.4/default molpro/intel-mpi/2010.1-1
NAMD/2.7b2 graphviz/2.26.3 mpe2/1.0.6p1/default
NAMD/2.9b3(default) gv/3.7.1(default) mpfr/2.4.1/default
Python/2.7.1 hdf4/4.2r3/default mpi/intel/3.0/default
R/2.8.1/default hdf5/1.8.3/icc/default mpi/intel/3.1
amber/openmpi/10p18 icc/10.1 mpi/intel/3.2
amber/openmpi/11p14 icc/11.1(default) mpi/openmpi/gcc/1.2.9
amber/openmpi/11p20 icc/12.0 mpi/openmpi/gcc/1.4.0
amber/openmpi/12p5 icc/12.0.3 mpi/openmpi/gcc/default
amber/openmpi/9p46 idb/10.1/default mpi/openmpi/intel/1.4.3
ansys/12.1 idb/11.1 mpi/openmpi/intel/1.4.3-int8
ansys/13.0(default) idb/12.0 mpi/voltaire/default
ansys/14.0 idb/9.1/default mpich-ch-p4
binutils/2.21 ifort/10.1 mpich-ch-p4mpd
boost/1.46.1 ifort/10.1.021 mrbayes/3.2.1/default
cfour_v1/mpi ifort/11.1(default) null
cfour_v1/serial ifort/12.0.3 nwchem/4.7/build
cmake/2.4.8 imkl/10.2 nwchem/4.7/default
cmake/2.8.4(default) imkl/10.2.2 ocaml/default
comsol/4.1 imkl/10.2.5 octave/3.0.3(default)
cuda/4.0.17(default) imkl/10.3.3(default) pgi/10.8
dot intel/10.1 pgi/11.10(default)
emacs/23.3 intel/11.1(default) pkg-config/0.23/default
fftw/icc/3.1.3/default intel/12.0 satscan/7.0/default
fluent/12.1 intel/9.1 subversion/1.6.12(default)
fluent/13.0(default) lammps/default totalview/8.8
fv/12.3(default) ls-dyna/ls971-R6.0.0(default) totalview/8.9.2(default)
gambit/2.4.9(default) lumerical/default use.own
gamess matlab/R2012a(default) vmd/1.8.7(default)
gaussian/g03/E.01 maxent/default wxWidgets/2.8.12
gaussian/g09/A.02 module-cvs

module show (or display)

Show information about one or more modules. The show / display sub-commands will list the full path of the modulefile(s) and all (or most) of the environment changes the module makes when loaded. It will not display environment changes found within conditional statements.

$ module show gcc/4.5.2

module-whatis load GCC 4.5.2 environment
prepend-path PATH /share/cluster/apps.new/apps/gcc/4.5.2/bin
prepend-path INCLUDE /share/cluster/apps.new/apps/gcc/4.5.2/include/c++/4.5.2
prepend-path LD_LIBRARY_PATH /share/cluster/apps.new/apps/gcc/4.5.2/lib
prepend-path LD_LIBRARY_PATH /share/cluster/apps.new/apps/gcc/4.5.2/lib64
prepend-path MANPATH /share/cluster/apps.new/apps/gcc/4.5.2/share/man

module help

Show the usage of each sub-command. If an argument is given, print the module-specific help information.

$ module help icc
----------- Module Specific Help for 'icc/' -------------
This loads the Intel compiler environment.
Version 2013.

module unload

Remove modules from your environment.

$ module unload ifort/

module load

Load one or more modules into your environment.

Suppose you want to use a different compiler than the default. Use the module unload command (above) to remove the default compiler and the module load command to load another one.

$module load ifort/11.1

module purge

Unload all loaded modules from your environment.

$ module purge
$ module list
No Modulefiles Currently Loaded.

859-218-HELP (859-218-4357) 218help@uky.edu