Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
Excerpt
nameSoftware Modules

Overview

Supercomputing software environments are highly domain dependent, and to prevent conflicts while balancing ease of use, the software that your research needs will likely need to be loaded into the environment as a software module.

Note

No software modules are loaded when you start a new session, so you must load software in every session.

Listing Available Modules

The following command will list all available software modules.

Code Block
languagebash
$ module 
-l
avail

Loading a module

The following command will load Aspect 2.3.0 installed with Spack

Code Block
languagebash
module load aspect-2.3.0-gcc-11.2.0

...

To search available modules with a keyword, i.e. “rust”:

Code Block
$ module avail rust

You can also see available modules from the web portal.

Sol: https://links.asu.edu/sol-modules

Phoenix: https://links.asu.edu/phx-modules

Info

Research Computing uses two methods to create modules, which is reflected in two naming schemes. Modules that are built manually follow the naming scheme software/version.number. Modules that are built with a program called Spack follow the naming scheme software-version.number-compiler-version.number. There is no difference between the methods otherwise.

Loading a module

To use software, you must first load the module into your shell environment using the module load command.

Code Block
languagebash
module load aspect/2.3.0 

In this example, Aspect software has been loaded and can be used as normal.

Tip: you can use “ml” as a shorthand for “module load”

Listing Loaded Modules

To see a list of modules that are currently loaded use the following command.

Code Block
languagebash
module list

Unloading modules by name

To unload only a single module use the following command.

Code Block
languagebash
module unload aspect/2.3.0

Unloading all loaded modules

To unload all modules that are currently loaded run the following.

Code Block
languagebash
module purge

Module purge is useful for starting over with a clean environment, like when incorporating modules into an sbatch job script.

Example

Code Block
languagebash
$ module avail aspect
------------------------------ /packages/modulefiles/apps ------------------------------
aspect/2.3.0  aspect/2.3.0-debug  aspect/2.4.0  aspect/2.4.0-debug  aspect/2.5.0-pre

----------------------------- /packages/modulefiles/spack ------------------------------
aspect-2.3.0-gcc-11.2.0
$ module load aspect/2.3.0
$ module list
Currently Loaded Modulefiles:
 1) dealii-9.3.3-gcc-11.2.0   2) openmpi-4.1.3-gcc-11.2.0   3) aspect/2.3.0
$ module purge
$ module list
No Modulefiles Currently Loaded.

Using Modules in SBATCH Job Scripts

Many sbatch scripts will include a module load command as part of the script.

Examples of this can be found here: Slurm - SBATCH Job Scripts

...

Installing Software as Modules

If you require further assistance on this topic, please don't hesitate to contact the Research Computing Team. To the software you need is not installed as a module yet, please create a support ticket , kindly send an email to rtshelp@asu.edu. For quick inquiries, you're welcome to reach out via our #rc-support Slack Channel or attend our office hours for live assistanceWe also offer a series of workshops. More information here: Educational Opportunities and Workshops by reviewing our RTO Request Help page. Please indicate the URL to the software downloading source, the version of the software needed, and other related information in the email.

Additional Support

Insert excerpt
Contact RC Support excerpt
Contact RC Support excerpt
nameContact RC Support
nopaneltrue