Difference between revisions of "Admin Guide Module Systems"
Admin Guide Module Systems
Jump to navigation
Jump to search
m |
|||
Line 1: | Line 1: | ||
− | [[Category:HPC-Admin|Module Systems]] | + | [[Category:HPC-Admin|Module Systems]]<nowiki /> |
− | [[Category:HPC.NRW-Best-Practices|Module Systems]] | + | [[Category:HPC.NRW-Best-Practices|Module Systems]]<nowiki /> |
− | [[Category:Environment_Modules]] | + | [[Category:Environment_Modules]]<nowiki /> |
+ | {{DISPLAYTITLE:Module Systems (Admin Guide)}}<nowiki /> | ||
= Software = | = Software = |
Latest revision as of 19:12, 9 December 2020
Software
- LMOD
- Actively developed
- Integrated by EasyBuild
- In-build module usage tracking
- Support for different module naming schemes
- Supported languages: Lua and TCL
- Installation via OpenHPC repository package
- Alternative: Environment Modules
- Stale development
- Since 2018 new maintainer
- Supported languages: TCL
Naming Conventions
We are employing a so-called hierarchical module naming scheme. This means that only those modules are shown to the user which can be loaded based on the current user environment.
Example: A user wants to load the module GROMACS which depends on the GCC compiler and open OpenMPI library. By default the user can only see the GCC module: 1. module load GCC –> now the OpenMPI module is visible 2. module load OpenMPI –> now the GROMACS module is visible 3. module load GROMACS
Module Usage Tracking
- Tracking of module usage can directly be integrated into LMOD –> see https://lmod.readthedocs.io/en/latest/300_tracking_module_usage.html
- Rquirements: MariaDB (MySQL) and rsyslog functionality
- NOTE: Clone the git repository and look into the folder
contrib/tracking_module_usage
to find the examples and scripts described in the guide above
Deprecated Modules
- Create a separate software stack every 6 to 12 months and create meta modules for the users to explicitly load a specific year –> e.g.
module load 2020a
- This way, users get a feeling for how old their used software is
- You can easily deprecate older software stacks by just deleting the meta module but at the same time keep the software stack for archival purposes
- Module trees do not get cluttered