Skip to content

Module System

By default, the majority of software installed on our computing infrastructure is not accessible until its use is requested. This is handled by the Environment Modules system, which allows us to install not only a wide variety of software that won't interfere with each other, but also give access to specific versions that may be preferred instead.

Each time you want to run a program, you'll need to load it into your current session or Slurm script, before you are able to use any of its commands.

Module Commands

Available Modules

To see all of the modules that are currently available for you to activate, use the module avail command.

You can also check out our online list of Available Software to find descriptions and versions of what we have installed.

module avail                    # List all available modules
module avail software           # Filter list of available modules by name (Example: module avail gcc)

Activate / Load Modules

When you have a module you want to use, you'll need to first use module load to give you access to all of its binaries and commands. If you omit the version, then it'll use the default / latest version of the software we have installed, however future updates may result in your script breaking.

module load software            # Load the default / latest version of a module
module load software/version    # Load a specific version of a module

Current Loaded Modules

To see a list of every module you currently have activated, you can use the module list command.

module list                     # List all currently activated modules

Deactivate / Unload Modules

If you no longer want to use a module, or want to start fresh, you can use the module unload or module purge commands.

module unload softwarename/version      # Unload a single module
module purge                            # Unload all currently loaded modules

Examples

To see how the module system is used on the cluster, below is two examples on how to access the "R" programming language.

Command Line

module avail R/          # Show all available versions of "R" installed.
module load R/4.3.1      # Load the "4.3.1" version of R.
R                        # The "R" command is now available to work in.

Running Commands on Login Node

When you run commands on the cluster, make sure to not do anything too intensive on the initial login node as it's a shared server. If you want to run your code interactively, we recommend checking out our "Interactive Mode" instead, where it places you on a compute node instead.

Slurm Script

script.sh
#SBATCH --job-name="My Job"     # Name of this job
#SBATCH --mem=5G                # How much memory do you need?
#SBATCH --ntasks-per-node=4     # How many CPU cores do you want to use per node (max 64)?
#SBATCH --nodes=1               # How many nodes do you need to use at once?                  

# ---- YOUR SCRIPT ---- #
module load R/4.3.1         # Load the R module - Version 4.3.1
Rscript my-script.R         # Run a script containing R commands
sbatch script.sh

Need Something Installed?

Are you looking for a module or specific version of software that isn't currently on the cluster? Let us know by filling out the form below so we can get it installed for you.

Start Form Now

Resources