Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Modules

The HPC is used by many people with diverse software requirements. You might require Python 3.7 for your script, and your colleague requires Python 2.7 for their script. How do we install both on the HPC?

Software Modules are used on the HPC to solve this issue of installing conflicting software. A software module is a partially installed version of the software. When you need want to use this software, you need to activate so it is available to you. Activation “completes” the install in a temporary manner. When no longer required, the module can be removed.

...

Code Block
module list
module purge
module list

Module conflicts can occur when loading modules.

You cannot two different versions of the same package:

Code Block
# Load R version 3.6.2 
module load r/3.6.2-foss-2019b
R --version

# Load R version 4.0.3
module load r/4.0.3-foss-2020b
{Error}

Tool chain conflicts.

In the name r/4.0.3-foss-2020b, the foss-2020b part is the toolchain. This means “Free and Open Source Software” at version 2020b.

...

Code Block
module purge
module load samtools/1.9-foss-2017a
module load bowtie2/2.3.4.3-foss-2017a
module list

Installing Software

Conda:

Conda is a package manager and can be used to install packages to your home folder.

...

You use environments to separate package versions.

The conda modules can be displayed with:

Code Block
module avail anaconda

Or a conda module with Mamba is available:

Code Block
languagebash

...

module avail mamba
Code Block
-------------------------------------------------------------------------------------------- /pkg/suse12/modules/all --------------------------------------------------------------------------------------------
mamba/4.14.0-0

When you use a conda module, it is a good idea to run the 'conda init' command to update your shell files so conda functions correctly.

Alternatively, you can install miniconda to your home folder by following the instructions. Be sure to choose 'yes' the update shell question.

Once you have run conda init, or installed Minconda, you should logout and log back in again to activate the shell changes.

See here for details:

HPC Software - Conda - QUT MediaHub

Using Singularity

Singularity runs software containers. A container is a packaged collection of software. The advantage of using a container is it is portable, and runs without installation.

By Hand

It is possible to download application source code, compile, and install to your home folder.

This is an advanced topic!

Start by module loading the compiler and tool chain you need to build the software…

...