Difference between revisions of "Infrastructure/software/easybuild"

From Nordic Language Processing Laboratory
Jump to: navigation, search
(Community Maintenance)
(Background)
Line 7: Line 7:
 
Full automation means that the exact same software environment,
 
Full automation means that the exact same software environment,
 
using the exact same versions and dependencies, will be locally
 
using the exact same versions and dependencies, will be locally
compiled, with relevant hardware-specific optimizations.
+
compiled on each target system, with relevant hardware-specific
 +
local optimizations.
 
This approach guarantees maximum reproducibility and replicability
 
This approach guarantees maximum reproducibility and replicability
 
across different systems, including the Finnish Puhti and the
 
across different systems, including the Finnish Puhti and the
Norwegian Saga superclusters.
+
Norwegian Saga (and soon Betzy) superclusters.
  
 
= Usage Instructions =
 
= Usage Instructions =

Revision as of 07:40, 8 July 2021

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/modules/all
module avail
module use -a /cluster/shared/nlpl/software/eb/modules/all
module avail

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.