Exercise 6: Software modules

Author:

Richard Berger, Fernando Posada

Warning

Store all files you changes in a folder and commit them to your repository

We already discussed how to install software across the cluster using RPMs in previous exercises. While this straight forward approach works for many scenarios, scientific computing and HPC has its unique challenges.

It is quite common to install multiple versions of the same software package on a cluster. That means two versions of a software package must coexist on all system, which is usually done by installing them in different locations. Each version might require a set of dependencies, such as libraries in a particular version. Updating one library might break a software package that needs a certain feature.

A common way of tackling this issue is through so-called environment modules. These allow you to install software in an arbitrary location of your choosing. Each module is a script which specifies the necessary changes in your environment variables to enable a specific software package to function at their custom location.

To motivate their usage, you will now install both Python 2 and 3 manually by first compiling and installing them into a custom location. Afterwards both are made available to users by creating an environment module for each of them.

Here the Video Transcript