What is EasyBuild?

What is EasyBuild?#

The module system#

Our module system runs on Lmod, which allows users to dynamically change their environment, i.e.: their PATH, libraries, python environment and so on.

It offers two main advantages over conda: - software is typically compiled and therefore optimized - modules follow a strict version dependency format, avoiding messy attempts to resolve compatibility between packages

EasyBuild#

EasyBuild offers a framework for the build and installation of software into our module system. It is also designed specifically for managing scientific software on HPC systems, such that reproducibility is a core aim of the system.

It is also a community-minded project, such that a large number of recipes for common software already exist and are kept up-to-date. However, here at the cutting edge of science, you cannot rely on someone else having installed a particular piece or version of software before you. This workshop is all about how to write new recipes for such software.

Terminology#

  • Module - the environment module that EasyBuild constructs after installation

  • Toolchain - a set of basic compilation tools and libraries needed for software installation

  • Easyconfig - a recipe used to install software and create a module

  • Easyblock - a template for such a recipe