Skip to content

Environment setup

Users can control the available software by environment variables which are managed by environment modules (lmod). module avail shows all modules available for a user, e.g. on festus:

[bt000000@festus01 ~]$ module avail  

---------------------------- Compiler ----------------------------  
  aocc/4.2    go/1.23.0      nvidia/24.7        yasm/1.3.0  
  gnu/14.1    nvidia/24.5    nvidia/24.9 (D)  

-------------------------- Interpreter ---------------------------  
  java/17.0.2    java/20.0.2        node.js/20.16.0  
  java/18.0.2    java/21.0.2        python/3.12.4  
  java/19.0.1    java/22.0.1 (D)    tcl+tk/8.6.14  

--------------------------- Buildtools ---------------------------  
  Qt/6.7.2         cmake/3.29.3              valgrind/3.23.0  
  autoconf/2.72    cmake/3.30.2       (D)  
  automake/1.16    ninja-build/1.12.1  

------------------------- Apps und Tools -------------------------  
  FFmpeg/7.1               gperf/3.1  
  GraphicsMagick/1.3.44    graphviz/12.1.0  
  R/4.4.1                  mplayer/1.5  
  Tex/TexLive24            proj/8.2.1  
  apptainer/1.3.3          proj/9.4.1        (D)  
  curl/8.9.1               sqlite/3.46.0  
  doxygen/1.12.0           subversion/1.14.3  
  fontconfig/2.15.0        swig/4.2.1  
  gdal/3.9.1               xapian/1.4.26  
  gnuplot/6.0.1
One can load or unload a module via module load and module unload, respectively. Now lets use this to switch between two gcc versions:
[bt000000@festus01 ~]$ module purge #unload all modules  
[bt000000@festus01 ~]$ gcc --version  
gcc (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3)  
Copyright (C) 2021 Free Software Foundation, Inc.  
This is free software; see the source for copying conditions.  There is NO  
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  

[bt000000@festus01 ~]$ module load gnu/14.1  
[bt000000@festus01 ~]$ gcc --version  
gcc (GCC) 14.1.0  
Copyright (C) 2024 Free Software Foundation, Inc.  
This is free software; see the source for copying conditions.  There is NO  
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

To list all loaded module simlpy user module list:

[bt000000@festus01 ~]$ module list  

Currently Loaded Modules:  
 1) gnu/14.1

Also you could try to filter for available modules:

[bt000000@festus01 ~]$ module avail cmake  

--------------------------- Buildtools ---------------------------  
  cmake/3.29.3    cmake/3.30.2 (D)

Or search for a module that depends on another one:

[bt000000@festus01 ~]$ module spider openmpi  

---------------------------------------------------------------  
 openmpi: openmpi/5.0.3  
---------------------------------------------------------------  

You will need to load all module(s) on any one of the lines 
below before the "openmpi/5.0.3" module is available to load.  

     OneAPI_2024.2  
     OneAPI_2024.2.1  
     aocc/4.2  
     gnu/14.1

Some software depends on another an will only be visible if the needed modules are already loaded: aocl_dep

If you need software that is not already installed, please contact the HPC administrators.