module
¶On Nimbus module
is used to manage different libraries and pieces of software. Unlike you own machine where you likely have one set of up packages each running with the latest versions, on Nimbus there are many different applications each with different versions and libraries that they rely on. Tools like module ensure researchers can access the versions of applications and libraries they want and allow the service to be managed more easily. It also means that the correct dependencies, typically libraries that are used to compile applications, can be loaded automatically making life easier for users.
You can check what modules are loaded when you first log-in to Nimbus:
module list
You can also run this command at any time to check which modules you have loaded or removed.
By default only gcc-9.2.0
, mpi/openmpi
, mkl/mkl-2021.1
are loaded.
gcc provides the standard serial gnu compiler suite, openmpi is the contains the openmMPI MPI implementation with parallel mpi libraries and compiler wrappers and mkl is Intel's Math Kernel Library.
You can see what modules are available with
module avail
The software modules will be updated as we build, test and broaden the software stack. Different modules are available depending on the instance type you wish to use. A combined list of all available modules built on the system is presented on the log-in node.
The modules available in
File path |
---|
/usr/share/Modules/modulefiles |
/apps/x86_64/modules/all |
/apps/modulefiles |
have not been compiled specifically for a particular compute instance, and are available and can be used on all instances.
However the modules in
/apps/modules/
are seperated out by build toolchain and are built for a specific instance. You can check if these modules are available on the instance of your choice with the following command:
module check [instance_type] [module_name]
where [instance_type]
and [module_name]
are the instance name and module you wish to check, e.g.:
$ module check fsv2 OpenFOAM
The following potential matches are available on the fsv2 instance:
match: OpenFOAM/v1812-foss-2020a
match: OpenFOAM/v2012-foss-2020a
match: OpenFOAM/9-foss-2021a
To load one of them include: `module load [module name]` in your run script e.g.:
module load OpenFOAM/v1812-foss-2020a
The [module_name]
you pass to this comand doesn't have to be exact (but the closer the argument you pass to the command is to the actual module name the better), and it will present you with a list of potential matches for the instance you are interested in. These modules cannot be loaded and used on the login-node, and rather should be included in your run-script e.g.:
module purge
module load OpenFOAM/v1812-foss-2020a
You can request Software installs on the system by contacting Research Computing.