Infrastructure/software/easybuild
Contents
Background
With support from the EOSC-Nordic project, the NLPL use case has created a blueprint for fully automated installation of the (software core of the) NLPL virtual laboratory using the EasyBuild framework. Full automation means that the exact same software environment, using the exact same versions and dependencies, will be locally compiled on each target system, with relevant hardware-specific local optimizations. This approach guarantees maximum reproducibility and replicability across different systems, including the Finnish Puhti and the Norwegian Saga (and soon Betzy) superclusters.
Usage Instructions
module use -a /projappl/nlpl/software/eb/etc/all module --redirect avail | grep nlpl
module use -a /cluster/shared/nlpl/software/eb/etc/all module --redirect avail | grep nlpl
Installation Instructions
git clone https://source.coderefinery.org/nlpl/easybuild.git cd easybuild ./setup.sh sbatch build.slurm easyconfigs/{system,mkl}/*.eb
Community Maintenance
The NLPL virtual laboratory is maintained collectively by a team of dedicated and enthusiastic experts from the NLPL partner sites, with Andrey Kutuzov (Oslo) as the chief cat herder. Once installed, a module never changes or is removed; instead, new modules are added to the collection.
To add a module to the virtual laboratory, it must be possible to
install it using EasyBuild.
This presupposes what is called an easyconfig, essentially the
recipe for fetching sources, compilation, and installation using
EasyBuild.
The NLPL collection of easyconfigs is maintained on the Nordic
GitLab instance at https://source.coderefinery.org/nlpl/easybuild.
To contribute, please make contact with the NLPL infrastructure
team at infrastructure@nlpl.eu
.
To become a contributor, in addition to the above GitLab instance, users must have access to at least Puhti and Saga, where the infrastructure task force must grant them write privileges to the NLPL community directory.
Interactive Installations
While developing and testing a new easyconfig, it will often be more convenient to work interactively at the command line (rather than submit EasyBuild jobs through the queue system).
The configuration from the initial fully automated build of the
NLPL virtual laboratory is preserved on each system, inside the
.../software/eb/build/
directory, where the
...
prefix must be replaced with the root of the
NLPL community directory, e.g.
/projapp/nlpl/
on Puhti and
/cluster/shared/nlpl/
on Saga.
module purge source .../software/eb/build/config.sh eb --show-config eb --robot --dry-run new-module.eb