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