Modules
Most of the HPC systems here use the Environment Modulespackage to manage user environment variables. The module command provides a convenient way for most users to set up their environment for specific software applications. These commands can also be used within submission scripts. The module man page shows all available commands, but for most users the key commands are 'module avail', 'module show', 'module load', and 'module list.'
To list all available modules, use 'module avail':
[duse@ravana ~]$ module avail
-------------------------------------- /share/apps/modules-3.2.9/Modules/versions ------------------- 3.2.9 ----------------------------------- /share/apps/modules-3.2.9/Modules/3.2.9/modulefiles -------------- dot module-cvs module-info modules null use.own --------------------------------------------- /share/apps/modules/ravana --------------------------- beast/1.7.4(default) gnu/hydrolight/5.1.4 gnu/structure/2.3.4_4.1.2(default) gnu/all(default) gnu/ima2/8.27.12_4.1.2(default) gnu/tabix/0.2.6_4.1.2(default) gnu/boost/1.52.0_4.1.2(default) gnu/modtran/5.2.1_4.1.2(default) gnu/tophat/2.0.6_4.1.2(default) gnu/bowtie/0.12.8_4.1.2(default) gnu/modtran/5.3.2_4.1.2 intel/compilers/2013.1.117(default) gnu/bowtie2/2.0.2_4.1.2(default) gnu/openmpi/1.4.5_4.1.2 intel/openmpi/1.6.4_13.0.1(default) gnu/cufflinks/2.0.2_4.1.2(default) gnu/openmpi/1.6_4.1.2(default) jdk/1.7.0_07(default) gnu/hydrolight/5.1.2(default) gnu/seadas/6.4(default)
Application modules are in the third category "/share/apps/modules/." The hierarchical naming convention for applications that depend on the compiler used is to list the compiler first, then the application, followed by the version number of the application and the version number of the compiler. So the module gnu/openmpi/1.4.5_4.1.2 refers to openmpi version 1.4.5 compiled with the gnu compilers, version 4.1.2. You do not need to type in the full module name, tab-completion works and if a (default) is indicated, you need only refer to the parent (e.g. 'module load gnu/openmpi' will load gnu/openmpi/1.6.4_4.1.2).
To show information on a particular module, use 'module show'
[duse@ravana ~]$ module show gnu/openmpi
-------------------------------------------------------------------
/share/apps/modules/ravana/gnu/openmpi/1.6_4.1.2:
module-whatis Sets up the OpenMPI environment for the cluster.
setenv MPI_HOME /usr/local/openmpi-1.6_gnu-4.1.2
append-path MANPATH /usr/local/openmpi-1.6_gnu-4.1.2/share/man
append-path PATH /usr/local/openmpi-1.6_gnu-4.1.2/bin
append-path LD_LIBRARY_PATH /usr/local/openmpi-1.6_gnu-4.1.2/lib
conflict openmpi
-------------------------------------------------------------------
To load (unload) a module, use the module load(unload) command:
[duse@ravana ~]$ module load gnu/openmpi
To show a listing of the loaded modules, use 'module list':
[duse@ravana ~]$ module list
Currently Loaded Modulefiles: 1) modules 2) 3.2.9 3) gnu/openmpi/1.6_4.1.2(default)
IT Research Computing
Healey Library, Lower Level
UMass Boston
100 Morrissey Blvd.
Boston, MA 02125
Book a Consultation
617.287.5399
It-rc@umb.edu