Installing software from source is a non-trivial problem. That’s why we are a huge fan of package managers at the RSEpedia software showcase, and why this week we are featuring easybuild. Easybuild is especially pertinent to the research community because it’s intended to install and manage scientific software on High Performance Computing (HPC) resources. Keep reading the following sections to learn more!
If you are already an easybuilder, we encourage you to contribute to the research software encyclopedia and annotate the respository:
otherwise, keep reading!
Let’s say you’re an HPC administrator. Or maybe you’re a researcher that has found himself unexpectedly as manager of a few servers. You likely have an entire suite of scientific software packages that you want to provide to your user base, whether that be a small group like a lab or an entire academic center. You likely have different versions too, and subtle differences in dependencies. What to do? While you might decide that environment modules are the way to go, or perhaps a previous week’s package manager, spack, easybuild offers a set of features that might whet your appetite:
The last point about community is a big deal! It means that if you use easybuild and need help, there are many others that are able and willing to help you. Here is a group picture from the 5th EasyBuild User Meeting, held in Jan 2020. Yes, right before the coronapocalypse!
In terms of software supported, check out the list of supported software - there are over 2000! But don’t take our word for it! The easybuild documentation has a What is easybuild? page that can tell you more.
While there isn’t a recommended paper to cite in the repository, you can likely reference this ACM publication:
@inproceedings{10.1109/HUST.2014.8,
author = {Geimer, Markus and Hoste, Kenneth and McLay, Robert},
title = {Modern Scientific Software Management Using EasyBuild and Lmod},
year = {2014},
isbn = {9781467367554},
publisher = {IEEE Press},
url = {https://doi.org/10.1109/HUST.2014.8},
doi = {10.1109/HUST.2014.8},
abstract = {HPC user support teams invest a lot of time and effort in installing scientific software for their users. A well-established practice is providing environment modules to make it easy for users to set up their working environment. Several problems remain, however: user support teams lack appropriate tools to manage a scientific software stack easily and consistently, and users still struggle to set up their working environment correctly. In this paper, we present a modern approach to installing (scientific) software that provides a solution to these common issues. We show how EasyBuild, a software build and installation framework, can be used to automatically install software and generate environment modules. By using a hierarchical module naming scheme to offer environment modules to users in a more structured way, and providing Lmod, a modern tool for working with environment modules, we help typical users avoid common mistakes while giving power users the flexibility they demand.},
booktitle = {Proceedings of the First International Workshop on HPC User Support Tools},
pages = {41–51},
numpages = {11},
location = {New Orleans, Louisiana},
series = {HUST '14}
}
There is an earlier paper from 2012 as well.
You can also post questions on the GitHub issues board.
or read more about annotation here. You can clone the software repository to do bulk annotation, or annotation any repository in the software database, We want annotation to be fun, straight-forward, and easy, so we will be showcasing one repository to annotate per week. If you’d like to request annotation of a particular repository (or addition to the software database) please don’t hesitate to open an issue or even a pull request.
You might find these other resources useful:
For any resource, you are encouraged to give feedback and contribute!