A partial list of applications available on the research computing platforms can be viewed on the Research Computing Platforms support pages.
Legion uses the modules environment system to manage packages.
A module configures your current login session or job to use a particular piece of software.
For example, this may involve altering your PATH and LD_LIBRARY_PATH environment variables to make the associated commands and/or libraries available at compile-time and/or run-time, without explicitly having to know the relevant paths.
A module can for instance be associated with a particular version of the Intel compiler, or particular MPI libraries, or applications software, etc.
The default environment has the most commonly required modules already loaded for your convenience.
You can see what modules are currently loaded by using the command module list
.
The default module set is shown in the example below:
[<userid>@login06 ~]$ module list
Currently Loaded Modulefiles:
1) gcc-libs/4.9.2 8) screen/4.2.1 15) tmux/2.2
2) cmake/3.2.1 9) gerun 16) mrxvt/0.5.4
3) flex/2.5.39 10) nano/2.4.2 17) userscripts/1.3.0
4) git/2.10.2 11) nedit/5.6-aug15 18) rcps-core/1.0.0
5) apr/1.5.2 12) dos2unix/7.3 19) compilers/intel/2017/update1
6) apr-util/1.5.4 13) giflib/5.1.1 20) mpi/intel/2017/update1/intel
7) subversion/1.8.13 14) emacs/24.5 21) default-modules/2017
This output indicates that the Intel compilers are loaded, the Intel MPI environment, editor nedit and some other utilities.
In addition to those made available in your default environment, we provide a rich set of additional modules for your use.
These can be listed by typing:
module avail
You can load additional modules into your current session by using the command:
module load <module>
For example, to add the module for FFTW 2.1.5 for the Intel compilers, type:
module load fftw/2.1.5/intel-2015-update2
Typing module list will now show the above with the addition of the fftw module.
You can unload modules from your current session by using the command:
module unload <module>
For example, to remove the FFTW module, type:
module unload fftw/2.1.5/intel-2015-update2
One commonly required change is to switch from using the Intel compiler and associated libraries (which are provided in the default environment), to using the GCC compiler.
This would be achieved by typing the following commands:
module unload compilers
module unload mpi
module load compilers/gnu/4.9.2
module load mpi/intel/2015/update3/gnu-4.9.2
Note that the order in which you execute these commands is vital! You must always unload modules before loading their replacements.
Typing module list again will show the changes.
You can permanently change what modules are loaded by default in your environment by editing your ~/.bashrc file to add the appropriate module load and unload commands at the end.
When you first start using a new application, typing
module help <module>
(where <module>
is the name of the application module) will provide you with additional Legion-specific instructions on how to use the application if any are necessary.
Some modules depend on or conflict with other modules
Module 'a' depends on one of the module(s) 'b'
Module 'a' conflicts with the
currently loaded module(s) 'b'
These issues can be reduced through the use of Recommended Bundles
e.g. r/recommended
loads a collection of other modules and then the R module.
A summary of useful commands relating to the use of modules:
module load <module> |
loads a module | |
module unload <module> |
unloads a module | |
module purge |
unloads all modules | |
module list |
shows currently loaded modules | |
module avail |
shows available modules | |
module whatis |
shows available modules with brief explanations | |
module show <module> |
list the contents of the module file. Shows environment variables set-up by the module | |
module help <module> |
shows helpful information about a module, including instructions on how to use the application |