Load Software with Modules
There are many software packages installed on the Yale clusters in addition to those installed in the standard system directories. This software has been specifically installed for use on our clusters at the request of our users. In order to manage these additional packages, the clusters use "module files". These module files allow you to easily specify which versions of which packages you want use.
List All Loaded Modules
module list command displays all of the module files that are currently loaded in your environment:
You may notice a module named
StdEnv loaded by default. This module sets up your cluster environment; purging this module will make the modules we have installed unavailable.
Find Available Modules
To list all available module files, execute:
You can also list all module files whose name contains a specified string. For example, to find all Python module files, use:
module avail python
You can get a brief description of a module and the url to the software's homepage by running:
module help <modulename>
If you don't find a commonly used software you require in the list of modules feel free to send us a software installation request to email@example.com. Otherwise, check out our installation guides to install it for yourself.
Load and Unload Modules
module load command is used to modify your environment so you can use a specified software package. For example, if you found and want to load
2.7.13, execute the command:
module load Python/2.7.13-foss-2016b
This modifies the PATH environment variable (as well as a few others) so that your default Python interpreter is version
[be59@farnam2 ~]$ python --version Python 2.7.13
You don't have to specify the version. For example, if you want the default module version of R, use:
module load R
You can also unload a module that you've previously loaded:
module unload R
Mixing and matching certain software can be tricky due to the way we build our software and modules. In short, make sure that the
intel in your module names match if they are present. For more information, see our EasyBuild page.
It can be a pain to have to enter a long list of module load commands every time you log on to the cluster. Module collections allow you to create saved environments that remember a set list of modules to load together. This method is particularly useful if you have two or more module sets that may conflict with one another.
To create a saved environment, simply load all of your desired modules and then type
This will save this set of modules as your default set. To save a set as a non-default, just assign the environment a name:
module save environment_name
To load all the modules in the set, enter
module restore environment_name
to load the default or specified environment, respectively. To modify an environment, restore the environment, make the desired changes by loading and/or unloading modules and save it to the same name. To get a list of your environments, run:
You can view documentation while on the cluster using the command:
There is even more information at the offical lmod website.