NEMO2/Easybuild Modules: Difference between revisions

From bwHPC Wiki
Jump to navigation Jump to search
(Created page with "EasyBuild is a software build and installation framework designed to manage scientific software on High-Performance Computing (HPC) systems. It automates the process of building and installing software, ensuring reproducibility and consistency across environments. EasyBuild uses "easyconfig" files to define build parameters, dependencies, and configurations, simplifying the management of complex software stacks. NEMO2 utilizes EasyBuild to manage its software modules. T...")
 
mNo edit summary
Line 1: Line 1:
EasyBuild is a software build and installation framework designed to manage scientific software on High-Performance Computing (HPC) systems.
EasyBuild is a software build and installation framework designed to manage scientific software on High-Performance Computing (HPC) systems. It automates the process of building and installing software, ensuring reproducibility and consistency across environments. EasyBuild uses "easyconfig" files to define build parameters, dependencies, and configurations, simplifying the management of complex software stacks.
It automates the process of building and installing software, ensuring reproducibility and consistency across environments.
EasyBuild uses "easyconfig" files to define build parameters, dependencies, and configurations, simplifying the management of complex software stacks.


NEMO2 utilizes EasyBuild to manage its software modules.
NEMO2 utilizes EasyBuild to manage its software modules. Currently, only EasyBuild modules are available on NEMO2.
This Wiki serves as documentation for the EasyBuild modules used in NEMO2.
Additional details about EasyBuild will be provided in the coming weeks.


For more information, visit:
For more information, visit:
Line 11: Line 7:
* GitHub repository: https://github.com/easybuilders/easybuild
* GitHub repository: https://github.com/easybuilders/easybuild
* Documentation: https://docs.easybuild.io/
* Documentation: https://docs.easybuild.io/

== Modules for Each Architecture and Slurm Partition ==

All EasyBuild modules are compiled for each architecture/Slurm partition (see [[NEMO2/Hardware]]). The login nodes use Genoa CPUs and therefore display only the Genoa modules. To view all architectures/Slurm partitions, run: <code>module avail arch</code>.

To see which modules are available for a specific architecture, load the corresponding module: <code>module load arch/milan</code>.

If you compile your own software, you should adapt it accordingly or create a version compatible with the architectures you intend to use. You can use the environment variable <code>$ARCH</code> for this purpose. This variable is set for each architecture or after switching architectures with <code>module load arch/&lt;arch&gt;</code>. If you compile for Milan, it will likely work on Genoa as well.

== Long Module Listings and Extensions ==

If <code>module avail</code> produces a long list, you can use <code>module overview</code> for a summary. Afterward, you can filter by categories or applications, such as <code>module avail compiler</code> or <code>module avail llvm</code>.

If you want to hide the module extensions at the end of the listings, you can add <code>--nx</code> or <code>--no_extensions</code>: <code>module --nx avail</code>. You can also set an environment variable to permanently hide extensions: <code>export LMOD_AVAIL_EXTENSIONS=no</code>.

Revision as of 18:55, 15 May 2025

EasyBuild is a software build and installation framework designed to manage scientific software on High-Performance Computing (HPC) systems. It automates the process of building and installing software, ensuring reproducibility and consistency across environments. EasyBuild uses "easyconfig" files to define build parameters, dependencies, and configurations, simplifying the management of complex software stacks.

NEMO2 utilizes EasyBuild to manage its software modules. Currently, only EasyBuild modules are available on NEMO2.

For more information, visit:

Modules for Each Architecture and Slurm Partition

All EasyBuild modules are compiled for each architecture/Slurm partition (see NEMO2/Hardware). The login nodes use Genoa CPUs and therefore display only the Genoa modules. To view all architectures/Slurm partitions, run: module avail arch.

To see which modules are available for a specific architecture, load the corresponding module: module load arch/milan.

If you compile your own software, you should adapt it accordingly or create a version compatible with the architectures you intend to use. You can use the environment variable $ARCH for this purpose. This variable is set for each architecture or after switching architectures with module load arch/<arch>. If you compile for Milan, it will likely work on Genoa as well.

Long Module Listings and Extensions

If module avail produces a long list, you can use module overview for a summary. Afterward, you can filter by categories or applications, such as module avail compiler or module avail llvm.

If you want to hide the module extensions at the end of the listings, you can add --nx or --no_extensions: module --nx avail. You can also set an environment variable to permanently hide extensions: export LMOD_AVAIL_EXTENSIONS=no.