Skip to content

Softwares

Environment modules

Most of the softwares that we offer are available through the Environment Modules Lmod system, allowing users to list available software and dynamically load it into their session. If your software is not availble in modules, several compilers are available in modules for building softwares. Many languages also have systems in place for user local installations. If it's a common software, we can do a system installation.

We use EasyBuild to build/install all software systematically. If you find easyconfigs for your softwares are already availble but not on our cluster, you can send a software installation request.

You can also use libraries, build tools, and compilers from the module system to build your own software.

Using software in modules

The module command

The module command (or the ml shortcut) allows you to manage available software:

man module # View the manual

To search for a module names:

module spider softwarename
ml spider softwarename

To search for keywords in a module (such as extensions in bundles):

module keyword foo
ml keyword foo

To view available software possible to load directly:

module avail
ml avail

To see what modules are loaded at the moment use:

module list
ml

To load/unload a module:

module load <modulename>
module unload <modulename>
module purge    # Unloads all currently loaded modules`
ml <modulename>
ml unload <modulename>
ml purge

If you do not load a specific software version, the system will use the most recent available version.

Viewing Module Details:

To see what a module does, use

module show <modulename> # Display module environment variables
ml show <modulename>

Example: loading modules for the right Python packages

Loading modules is simple:

  1. You find the module and version using module avail or search for it using module spider.
  2. You load the module directly and/or the module toolchain to access to the module.

Example:

In this example we will load scipy.

$ module spider scipy

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  scipy:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     Versions:
        scipy/1.11.1 (E)
        scipy/1.11.4 (E)
        scipy/1.13.1 (E)
        scipy/1.16.0 (E)
        scipy/1.16.1 (E)
     Other possible modules matches:
        SciPy-bundle

Names marked by a trailing (E) are extensions provided by another module.


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  To find other possible module matches execute:

      $ module -r spider '.*scipy.*'

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  For detailed information about a specific "scipy" package (including how to load the modules) use the module's full name.
  Note that names that have a trailing (E) are extensions provided by other modules.
  For example:

     $ module spider scipy/1.16.1
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

At this time there are multiple versions of scipy available. We are interested in the latest version.

$ module spider scipy/1.16.1

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  scipy: scipy/1.16.1 (E)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    This extension is provided by the following modules. To access the extension you must load one of the following modules. Note that any module names in parentheses show the modul
e location in the software hierarchy.


       SciPy-bundle/2025.07-gfbf-2025b


Names marked by a trailing (E) are extensions provided by another module.

scipy/1.16.1 can be provided by SciPy-bundle/2025.07-gfbf-2025b module.

$ module load SciPy-bundle/2025.07-gfbf-2025b

We finish with listing all our loaded modules:

$ module list

Currently Loaded Modules:
  1) GCCcore/14.3.0                 9) bzip2/1.0.8-GCCcore-14.3.0      17) Python/3.13.5-GCCcore-14.3.0
  2) zlib/1.3.1-GCCcore-14.3.0     10) ncurses/6.5-GCCcore-14.3.0      18) cffi/1.17.1-GCCcore-14.3.0
  3) binutils/2.44-GCCcore-14.3.0  11) libreadline/8.2-GCCcore-14.3.0  19) cryptography/45.0.5-GCCcore-14.3.0
  4) GCC/14.3.0                    12) Tcl/9.0.1-GCCcore-14.3.0        20) virtualenv/20.32.0-GCCcore-14.3.0
  5) AOCL-BLAS/5.1-GCC-14.3.0      13) SQLite/3.50.1-GCCcore-14.3.0    21) Python-bundle-PyPI/2025.07-GCCcore-14.3.0
  6) FlexiBLAS/3.4.5-GCC-14.3.0    14) XZ/5.8.1-GCCcore-14.3.0         22) SciPy-bundle/2025.07-gfbf-2025b
  7) FFTW/3.3.10-GCC-14.3.0        15) libffi/3.5.1-GCCcore-14.3.0
  8) gfbf/2025b                    16) OpenSSL/3

That was a lot of modules needed! Luckily the module system handled all dependencies for us.

Toolchains

A toolchain is a set of modules that makes up the necessary components to build most software.

Most commercial (closed source) tools, do not require a toolchain, e.g. Mathematica, MATLAB. These can be loaded directly;

module load MATLAB/2024b

other software is build for a particular toolchain, predominatly foss (GCC, OpenMPI, OpenBLAS), and intel.

graph TD
    GCCcore --> GCC & intel-compilers & NVHPC
    GCC --> gompi & gfbf --> foss
    intel-compilers --> iimpi & iimkl --> intel
    NVHPC --> nvompi --> nvofbf

Note: You can see the CUDA version in as a version suffix, indicating GPU support (but remember to look at the job statistics to verify that you are actually using the GPUs).

Finding compatible software

You can't mix toolchains; something built with e.g. foss-2024a can not be combined with anything built for foss-2023b. Loading most modules will load many additional modules which it depends on, and trying to swap them out will not be compatible. If you need a library updated for a newer toolchain you can request it by contacting the support.

The module command will complain if you accidentally try to load incompatible modules.

module load matplotlib/3.10.5-gfbf-2025b
module load CMake/3.27.6-GCCcore-13.2.0 # This will fail; it uses a different compiler version

To find which compiler you have currently loaded (via matplotlib/3.10.5-gfbf-2025b here) you can list them

module load matplotlib/3.10.5-gfbf-2025b
moduel list  # shows all the loaded dependencies

Where you will see it was GCCcore-14.3.0. You can also refer to the table below.

If incorrect modules are loaded, reset with:

module purge

Recent toolchains

Key software in recent toolchains (each row is a separate toolchain):

Release GCC OpenMPI Intel CUDA Python
2023a 12.3.0 4.1.5 2023.1.0 12.1.1 3.11.3
2023b 13.2.0 4.1.6 2023.2.1 12.4.0 3.11.5
2024a 13.3.0 5.0.3 2024.2.0 12.6.0 3.12.3
2025a 14.2.0 5.0.7 2025.1.1 12.8.0 3.13.1
2025b 14.3.0 5.0.8 2025.2.0 12.9.1 3.13.5
2026.1 15.2.0 5.0.10 2025.3.3 13.3.0 3.14.2

Licenses

Important

C3SE does not purchase any licensed software for users. We also do not operate any license servers.

Some modules which we provide are pre-configured to point to the license servers hosted by Chalmers IT administration by default. Please contact Chalmers IT support at support@chalmers.se in case of any issues with the license servers themselves.

Software packages can almost always be pointed to use a different license server by the user. Refer to the manual for the specific software if you need this.

FlexLM license information

The very common FlexLM license server allows you to check for the number of available licenses to a software package and its many components.

Use the command line tool lmutil to collect statistics about the current license usage, e.g. checking usage for ANSYS:

/apps/licenses/lmutil lmstat -c /apps/licenses/ansys/license.dat -f