Software on Viking
Did you know…
We provide a central library of software installed for all users to benefit from, although everyone has the ability to download, build, and run software as long as it’s compatible with Viking. We do our best to fulfill all software install requests quickly, however, if it’s a small or simple program, it can sometimes be beneficial for a user to download and build the software themselves. 🏗️👷🦺
Modules and the user environment
Most software installed on Viking are made available through the module system lmod
. This allows multiple versions of the same software to be installed without conflicting or interfering with each other. By loading modules, the user environment is automatically modified to set the appropriate variables ($PATH
etc.) to make the corresponding software visible.
For a quick overview of the available module
sub-commands and options, try typing module help
on Viking:
$ module help
Tip
The command ml
is a handy front end for the module
command. On Viking, try typing ml --help
to see how you can use it as shorthand for module load
and other commands. We’ll continue to use explicit commands like module load
in this guide but know you can use ml
a lot of the time instead. Try it out! 😎
Using the module command
Try out the commands below and see their output. Very quickly you will be able to find modules of familiar software, load and unload them.
Searching for modules
$ module spider Python
For even more control over the search you can use regular expressions, for example:
$ module -r spider '^Python'
Hint
Try running the command module overview
to give you a nicely categorised view of all names and number versions of each module on Viking.
Loading a module
$ module load Python/3.11.3-GCCcore-12.3.0
Attention
Always use the full module name, including version and toolchain. Being specific means that as new modules are added your work remains the same and reproducible.
Listing modules in use
$ module list
Unloading a module
$ module unload Python/3.11.3-GCCcore-12.3.0
Purge all modules
$ module purge