Skip to content

Find and load software

A module file sets the environment (PATH, MANPATH, LD_LIBRARY_PATH and any variables the package needs) for one package and version, and works the same under bash and csh. You find a package, load it in a session or a job, and switch between versions with the module command. We maintain the modules for the packages the cluster provides. Write a module file covers your own.

Modules are grouped by prefix. bio/ holds the bioinformatics packages (bioinformatics/ is an alias), tools/ general tools and languages, gcc/, intel/ and nvidia/ the compilers and their MPI builds, idl/ and matlab/ those runtimes, and gis/ and jupyter/ a few more. The list of module files is the complete inventory. The installed modules page lists the bio/ and tools/ prefixes.

Find a package

  1. Search the module names:

    $ module -t avail 2>&1 | grep -i samtools
    bio/samtools/1.19.2(default)
    

    module -t avail prints one module per line. 2>&1 is there because it writes to standard error. Without a pattern, module avail prints everything.

  2. Read what the module provides and how to run it:

    $ module whatis bio/samtools
    $ module help bio/samtools
    

    module help prints the executables the package installs and notes on running it on Hydra. module show bio/samtools prints what loading it changes in your environment.

Load a package

  1. Load the module, with a version or without. Without a version you get the one marked (default):

    $ module load bio/samtools
    $ module load bio/samtools/1.19.2
    
  2. Check what is loaded:

    $ ml
    Currently Loaded Modulefiles:
     1) uge/8.8.1   2) tools/local-user   3) bio/samtools/1.19.2
    

    uge/8.8.1 and tools/local-user are sticky. Every session loads them and they cannot be unloaded.

  3. In a job file, put the same module load lines before the commands that use the package. Do not rely on modules loaded in your login shell, because the job does not inherit them (see Do not use -V).

ml is a shortcut. ml alone is module list, ml bio/samtools loads, and ml -bio/samtools unloads.

Switch or unload

Two versions of one package cannot be loaded at once. The module command reports a conflict. Switch versions instead of loading a second one, or unload first:

$ module switch gcc/12.2.0 gcc/13.2.0
$ module unload gcc/13.2.0
$ module load nvidia/24.3

module purge unloads everything except the sticky modules.

Change how module reports

Module Effect
module-nocolor no colors
module-nowarn fewer warnings
module-simple-format shorter module list output
module-simple the three above
module-verbose the same as module -v

Load or unload these like any other module. tools/manpath restores the default man page locations if loading a module has hidden them.

Perl, Python and CMake scripts can also call the module command. man module describes how. The Modules documentation at https://modules.readthedocs.io/en/v5.3.1/ covers the version installed on Hydra.

Further reading


Last updated 2026-10-03