SRCP Software User Documentation

Each user has access to a number of software once logged in. The software is accessed through Lmod modules, a tool commonly used in HPC systems where a large number of software is installed.

The module command provides access to a number of functions. To view the available modules run:

[centos@login ]$ module avail

------------------------------------------------------------------------------------ /opt/eb/modules/all -------------------------------------------------------------------------------------
   Bison/3.0.4      GCC/8.2.0-2.31.1   binutils/2.31.1-GCCcore-8.2.0     flex/2.6.4                  (D)
   Bison/3.0.5-GCCcore-8.2.0      GCCcore/8.2.0            binutils/2.31.1      (D) help2man/1.47.4   Bison/3.0.5  (D)    OpenBLAS/0.3.5-GCC-8.2.0-2.31.1 flex/2.6.4-GCCcore-8.2.0             help2man/1.47.7-GCCcore-8.2.0 (D)

The output lists all the available software, their versions and where necessary which compiler toolchain and version was used to compile them. For example OpenBLAS/0.3.5-GCC-8.2.0-2.31.1 indicates that OpenBLAS is version 0.3.5 and was compiled with GCC version 8.2.0. The (D) after some modules indicates they are default modules, this means in case there are multiple versions of an application installed and the user doesn’t specify a version the default will be loaded.

To load a module simply run:

[centos@login ]$ module load OpenBLAS/0.3.5-GCC-8.2.0-2.31.1

To list which modules are loaded run:

[centos@login ]$ module list

To get a description of a module run

[centos@login ]$ module help  OpenBLAS/0.3.5-GCC-8.2.0-2.31.1
----------------------------------------------------------------- Module Specific Help for "OpenBLAS/0.3.5-GCC-8.2.0-2.31.1" -----------------------------------------------------------------

Description
===========
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.


More information
================
 - Homepage: http://xianyi.github.com/OpenBLAS/

The show option will print the commands in the actual module file:

[centos@ebclient ~]$ module show OpenBLAS/0.3.5-GCC-8.2.0-2.31.1
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   /opt/eb/modules/all/OpenBLAS/0.3.5-GCC-8.2.0-2.31.1.lua:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
help([[
Description
===========
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.


More information
================
 - Homepage: http://xianyi.github.com/OpenBLAS/
]])
whatis("Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.")
whatis("Homepage: http://xianyi.github.com/OpenBLAS/")
conflict("OpenBLAS")
load("GCC/8.2.0-2.31.1")
prepend_path("CPATH","/opt/eb/apps/OpenBLAS/0.3.5-GCC-8.2.0-2.31.1/include")
prepend_path("LD_LIBRARY_PATH","/opt/eb/apps/OpenBLAS/0.3.5-GCC-8.2.0-2.31.1/lib")
prepend_path("LIBRARY_PATH","/opt/eb/apps/OpenBLAS/0.3.5-GCC-8.2.0-2.31.1/lib")
prepend_path("PATH","/opt/eb/apps/OpenBLAS/0.3.5-GCC-8.2.0-2.31.1/bin")
prepend_path("PKG_CONFIG_PATH","/opt/eb/apps/OpenBLAS/0.3.5-GCC-8.2.0-2.31.1/lib/pkgconfig")
setenv("EBROOTOPENBLAS","/opt/eb/apps/OpenBLAS/0.3.5-GCC-8.2.0-2.31.1")
setenv("EBVERSIONOPENBLAS","0.3.5")
setenv("EBDEVELOPENBLAS","/opt/eb/apps/OpenBLAS/0.3.5-GCC-8.2.0-2.31.1/easybuild/OpenBLAS-0.3.5-GCC-8.2.0-2.31.1-easybuild-devel")

Users can also create their own modules by copying and modifying existing modulefiles. To be able to use custom modulefiles the user simply has to add the directory with the custom modulefiles to the MODULEPATH environment variable:

export MODULEPATH=/home/userXYZ/path/to/modulefiles:$MODULEPATH