Modules on Spiedie


Table of Contents

  1. What are Modules
  2. Loading Modules
  3. Using Modules to Compile
  4. Viewing Available Modules

What Are Modules?


Spiedie manages most of its software, packages, and programs through the use of what are known as “modules.” Modules can be loaded into your terminal session to add paths and enable software in your current session, and modules may automatically load other modules necessary to run the piece of software in the module. When you log onto Spiedie, a few default modules are loaded automatically. At any time, you may view the modules active in your session by running the following command:

module list

Viewing and Loading Modules


To view a compact list of the most commonly-invoked modules available on Spiedie, run

module avail 

A complete list of all available modules on Spiedie can be viewed by running

module spider 

and can also be seen in the “Module List” Doc Simple modules listed by the module avail command can simply be loaded or unloaded by running

module load module_name

and

module unload module_name

where module_name should be replaced with your chosen module. However, many modules you can find listed by the module spider command may require other modules to be loaded before the chosen module can be loaded. To see the requisite modules, you can run

module spider module_name

and then load those modules before ultimately loading the original module.

When necessary, all modules in your session (including those loaded by default) can be removed by running

module purge

Many other advanced options of loading, initializing, and creating module profiles and checking methods are possible! You can view these options by running the

module help

command.

A few examples for useful but more hands-on possibilities for modules: you can easily create module bundles that can be loaded via the module save and module restore commands, or add to the modules loaded upon login by adding a few lines to your .bashrc profile


Important Note

It is important to note that scripts and batched slurm jobs do not draw from modules in your current session. So any scripts or runscripts will have to load any needed modules within them, while command-line scripts and command-line slurm jobs (run using the srun command) will not require separate loading instances.

Using Modules to Compile


Many of the modules available on Spiedie are compilers and commonly-used libraries, since many programs and packages users may need could be absent on Spiedie. Best practices and a guide to compiling on Spiedie can be read in the “Compiling Source Code on Spiedie” Doc.