|
|
= Pmodules Wiki
|
|
|
|
|
|
== Overlays
|
|
|
|
|
|
This is work in progress!!!
|
|
|
|
|
|
=== Overview
|
|
|
|
|
|
Idea: seamless stacking of multiple module hierarchies, use cases:
|
|
|
|
|
|
* develop/build new modules without exposing them to other users
|
|
|
* transparent/seamless support for modules optimised for certain CPUs
|
|
|
* modules for HPC systems like slurm and required software to support HPC hardware.
|
|
|
* modules on another filesystem or location than the default (@PSI: `/opt/psi`)
|
|
|
* ...
|
|
|
|
|
|
=== Overlay configuration
|
|
|
|
|
|
==== Definition
|
|
|
An overlay is defined by
|
|
|
* a root directory for the software installation
|
|
|
* a root directory for the modulefiles
|
|
|
* a name
|
|
|
|
|
|
In most cases both root directories are identical.
|
|
|
|
|
|
An overlay is defined by the two root directories. Different names can be used for the same overlay.
|
|
|
|
|
|
If only the root directory for the software installation is specified, this is also used as root for the modulefiles.
|
|
|
|
|
|
==== Configuration files
|
|
|
|
|
|
Configuration files are in YAML format.
|
|
|
|
|
|
The system wide configuration file is `$PMODULES_ROOT/config/overlays.yaml`.
|
|
|
|
|
|
User can define their own overlays in `$HOME/.Pmodules/overlays.yaml`.
|
|
|
|
|
|
All overlays must be defined in the system or user configuration file.
|
|
|
|
|
|
The user configuration file is queried first and can be used to overwrite the definition of an overlay in the system configuration file.
|
|
|
|
|
|
==== Format
|
|
|
|
|
|
````
|
|
|
---
|
|
|
overlayname:
|
|
|
root_dir: <DIR>
|
|
|
modulefiles_root_dir: <DIR>
|
|
|
type: normal|hidding|replacing
|
|
|
```` |
|
|
\ No newline at end of file |