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.
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
#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
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.