Modules

The scientific or cluster-related workflow software packages that have been installed on ada are generally available through use of the module command. This command is provided by Lmod.

Directly from [1]: Lmod is a Lua based module system that easily handles the MODULEPATH Hierarchical problem. Environment Modules provide a convenient way to dynamically change the users’ environment through modulefiles. This includes easily adding or removing directories to the PATH environment variable. Modulefiles for Library packages provide environment variables that specify where the library and header files can be found.

Overview

Modules provide a way for setting up your environment for the numerous software packages that have installed on ada.

 

Each module does the following (sometimes even more):

 

  • Add directories to your path
  • Update Library path
  • Set environment variables
  • Setup alias
  • …. and many more

 

They also keep track of modules which are incompatible with each other. For example, if you switch compilers, other modules will be removed and loaded that work with the new compiler.

Basic Commands

 

Command Description
module list List the current modules that are loaded
Module load <module name> Load the module <module name>
Module avail List available modules
Module spider <search term> Get general information on modules related to your <search term>
Module unload Unloads a specified module

 

Module Names

The name of modules follows this scheme:

<software name>/<software version number>

Take a look at the variable modules for TensorFlow:

-bash-4.2$ module avail tensorflow

------------------------------------------------------------------------------------------------------------------ /usr/ebuild/modules/all -------------------------------------------------------------------------------------------------------------------
TensorFlow/2.1.0-fosscuda-2019b-Python-3.7.4 TensorFlow/2.3.1-fosscuda-2019b-Python-3.7.4 (D)

Where:
D: Default Module

There are two versions of TensorFlow available. If you use the command “module load TenorFlow”, you will get the default module, this is identified by the “(D)” by the module name. If you need a specific version, use the full name of the module with version number, like the following, “module load TensorFlow/2.1.0-fosscuda-2019b-Python-3.7.4”.

The Software version number will include the version of the software, what compiler suite was used to build it, and some additional information. In the case of TensorFlow, it includes what version of Python it was built with.

 

Default Modules

 

Loading Modules At Login

 


As with all software available in the ada cluster environment, there is only limited user-support provided by the system administrators.

For help with software packages available in the ada cluster environment, consider sending a descriptive email to the ada-discussion-group@umbc.edu mailing list.


[1]: https://lmod.readthedocs.io/en/latest/