Linux Software Modules
A large amount of software available to managed Engineering Linux computers is available via environment modules. These modules allow Engineering IT to distribute large software packages without having to install the software on individual machines. They also allow Engineering Linux users access to multiple versions of popular software, such as Mathematica or MATLAB.
List of Linux Software Modules
- Click here to view a current listing of Research Linux software modules
- Click here to view a current listing of EWS Linux software modules
How to use the Software Module System
module avail
To see what additional software modules are available, use the 'module avail' command:
[root@dcl-l440-23 ~]#module avail
--------------------------------------------------------------- /etc/modulefiles/ews_software ---------------------------------------------------------------
OOF2/2.2.2 ansys/2022r2 cuda-toolkit/11.6 lmutil/11.18.3 python3/3.10.0
OOF2/2.3.3 (D) ansys/2024r1 (D) gcc/9.2.0 logic-synthesis-SIS/1.3.6 texlive/2024
Synopsys_x86-64/2021 berkely-abc/2024.03.06 gcc/12.3.0 (D) logic-synthesis-SIS/1.4 (D) thermocalc/2022b
Synopsys_x86-64/2022 cadence/2023-05 gdb/8.2.1 mathematica/10.2 thermocalc/2024b (D)
Synopsys_x86-64/2024 (D) cadence/2024-08 (D) gwyddion/2.66 matlab/R2024a xilinx/2023.1
ads/2022 calibre/aok_2024.1_28.16 lc3tools/12 matlab/R2024b (D) xilinx/2024.1 (D)
ads/2025 (D) calibre/aok_2025.2_14.11 (D) llvm/15.0.7 ovito/2.6.1
The above list is constantly changing and may not reflect the actual modules currently available on Linux instructional (EWS) computers. If you need a software that is not listed for your class please contact your instructor and/or course staff so that they can request any additional software necessary for your course.
module load
If the software you need to use has a module available for it, use the 'module load' command to load it. For instance, if you wanted to load Mathematica you would use 'module load mathematica':
[root@dcl-l440-23 ~]# module load mathematica
module list
To see what modules you currently have loaded, use the 'module list' command:
[root@dcl-l440-23 ~]# module list
Currently Loaded Modules:
- xilinx/2024.1
- mathematica/10.2
- cadence/2024-08
That's all it takes to load a module and you may immediately begin using the software. Note that you do not need to use the full module name of software/version that is displayed through module avail unless you are trying to load a specific version of the software. In the example above, 'module load mathematica' and 'module load mathematica/10.2' would mean the same thing.
module unload
When you are no longer using a particular software module, you may 'remove' it by using the 'module unload' command:
[root@dcl-l440-23 ~]# module unload mathematica
as you can see from the module list below mathematica is no longer loaded.
[root@dcl-l440-23 ~]# module list
Currently Loaded Modules:
-
xilinx/2024.1
-
cadence/2024-08
Although it is not necessary to unload modules when you are no longer using the software, by doing so you can switch between multiple versions of software while keeping your environment clean and consistent.
Loading different software version modules
Several of the software packages available as modules have multiple versions of the software available. Take a look at Synopsys, for example:
[root@dcl-l440-23 ~]# module avail
--------------------------------------------------------------- /etc/modulefiles/ews_software --------------------------------------------------------------- Synopsys_x86-64/2021 Synopsys_x86-64/2022 Synopsys_x86-64/2024 (D)
When you issue a 'module load Synopsys_x86-64' command the version of Synopsys that will load is indicated by the default descriptor next to it, shown here as (D). In this case Synopsys_x86-64/2024 will be loaded. If you wish to use another available version, you must use the full module name. If you were to load /2021 you would use 'module load Synopsys_x86-64/2021'.
Loading the default version:
[root@dcl-l440-23 ~]# module load Synopsys_x86-64
[root@dcl-l440-23 ~]# module list
Currently Loaded Modules:
-
xilinx/2024.1
-
cadence/2024-08
-
Synopsys_x86-64/2024
Loading a specific version:
[root@dcl-l440-23 ~]# module load Synopsys_x86-64/2021
[root@dcl-l440-23 ~]# module list
Currently Loaded Modules:
-
xilinx/2024.1
-
cadence/2024-08
-
Synopsys_x86-64/2021
module switch
If you currently have one version of a module loaded and wish to use another, you may use the shorthand 'module switch' command rather than unloading the old version's module and loading loading the new one. The syntax for this is 'module switch currentmodule newmodule'.
[root@dcl-l440-23 ~]# module switch Synopsys_x86-64/2021 Synopsys_x86-64/2024
The following have been reloaded with a version change:
Synopsys_x86-64/2021 => Synopsys_x86-64/2024
[root@dcl-l440-23 ~]# module list
Currently Loaded Modules:
-
xilinx/2024.1
-
cadence/2024-08
-
Synopsys_x86-64/2024
non-module software
Some packages are installed on your system directly without the need to use modules. This includes most of the dependencies that the software modules may have, or smaller or more common packages available in the yum repositories, such as gcc and make.