DCC provides a basic software stack enabling users a multitude of programs. The software stack is only available on the LSF cluster.
This document contains information on how to enable the software stack, please see the following pages on how to use certain packages with their own sub-set modules:
The software stack is based on environment modules.
Enabling a software stack
A word of caution before proceeding: Enabling this software stack will disable the regular modules available on the LSF cluster.
To enable the software stack all that is needed is to execute the following command:
This will enable all modules the software stack holds (and disable all regular modules). To always enable this software stack, add the following to your
.bashrc (ensure this is added at the bottom of your
.bashrc to not clash with the system wide installations):
if [ -d /dtu/sw/dcc ]; then source /dtu/sw/dcc/dcc-sw.bash fi
The rest of the discussion assumes you have followed either of the above steps.
Long term supported software stacks
The purpose of the software stack is to maintain a backward/forward compatible software stack enabling users to swap full environments. Once (or sometimes twice) a year we will update the software stack by re-installing everything using new releases of software. In order to maintain a stable environment for users all software stack updates are kept separate to allow users to switch between stacks.
module avail you will see something like (EXAMPLE):
module avail -------------- /dtu/sw/dcc/software-stack -------------- 2019-may-dcc-setup 2019-aug-dcc-setup dcc-setup ... lots of other modules ...
By following Enabling a software stack the
dcc-setup module will automatically get loaded. This module will always point to the latest software stack!
When starting a new project where reproducibility is important you are advised to use a fixed set of software versions. In those cases one should always do the following (EXAMPLE, use
module avail to see the actual version name):
module purge module load 2019-may-dcc-setup
which will ensure the same software stack, regardless of updates to the software stacks.
Software stack options
The software stack has a simple set of environment variables (EV) which are used as options for setting up the environment. All EV must be set before
module load dcc-setup (or the equivalent version).
Choose which compiler has been used for the software stack. Currently we allow the following values (contact us for other compiler vendors/versions):
gnu/9.1.0to get all software compiled with GCC 9.1.0
intel/19.0.3to get all software compiled with Intel 2019.3.199
By default the enabled modules are pre-compiled for the architecture you are running on. This may be a specific CPU type or any of:
Should not be necessary to change!
If you specify a non-existing compiler you will not get anything loaded. Please be aware of any messages printed.
Basic module principles
The modules are divided into 3 sections:
modulesshows system-wide modules which does not depend on the software stack version, this refers to compilers, MatLab, etc.
genericshows modules build for system-wide purposes (i.e. not optimized for any architecture)
<compiler>/<version>shows modules build by the corresponding compiler (and version). These are compiled for the architecture you are running on.