Using pre-installed software

Software that is most used on clusters is often installed already on the CECI clusters: Fortran and C/C++ compilers, popular interpreters like Python or R, numerical libraries such as BLAS and LAPACK, and message passing libraries (e.g. OpenMPI). In addition, several versions are often installed.

They are available through the use of the module command:

module  avail               list available software (modules)
module  add|load [software] set up environment to use software
module  purge               clears the environment
module  list                list currently set up software
module  help                get help

For instance, module available openmpi will list all available OpenMPI modules. Assuming it returns something like

openmpi/1.4.5/intel-11.1.073   openmpi/1.4.5/pgi-11.2-1
openmpi/1.5.3/gcc-4.4.4        openmpi/1.5.3/intel-

then module load openmpi/1.5.3/intel- will enable the OpenMPI version 1.5.3 compiled with the Intel compiler. After doing that, when you run mpirun without specifying the full path, you will be running that specific version of OpenMPI. Note that introducing module load openmpi will load a default version.

Modules are organised around the notion of toolchains. A toolchain is a collection of compiler and libraries that are often used together and known to interoperate perfectly. For instance, the foss toolchain comprises

  • GCC
  • OpenMPI
  • OpenBLAS
  • FFTW

A toolchain version corresponds to a set of specific versions of the elements of the toolchain. For instance the foss/2016a toolchain corresponds to GCC/4.9.3, OpenBLAS/0.2.15, OpenMPI/1.10.2, ScaLAPACK/2.0.2 and FFTW/3.3.4.

Beware that the module system is case sensitive and some versions might be named for instance OpenMPI/1.10.2-GCC-4.9.3-2.25.

Another catch with module avail is that it outputs its results to stderr, meaning that if you want to grep it, you’ll need to use redirection:

module avail |& grep softwarename

Note the ampersand after the pipe sign.

About some commercial software:

  • Matlab: is not installed on the CÉCI clusters but free alternatives are available (e.g. Octave) and the Matlab Runtime (MCR) is installed on all the clusters. A training session is dedicated each year to the use of Matlab on the clusters.
  • Gaussian is installed on most clusters, but its use is restricted and granted on a per case basis. You will need to contact both the system administrator of your university and that of the university hosting the cluster you want to use.