6.5 KiB
title, keywords, last_updated, sidebar, permalink
title | keywords | last_updated | sidebar | permalink |
---|---|---|---|---|
PSI Modules | Pmodules, software, stable, unstable, deprecated, overlay, overlays, release stage, module, package, packages, library, libraries | 07 September 2022 | merlin7_sidebar | /merlin7/pmodules.html |
PSI Environment Modules
On top of the operating system stack we provide different software using the PSI developed PModule system.
PModules is the official supported way and each package is deployed by a specific expert. Usually, in PModules software which is used by many people will be found.
If you miss any package/versions or a software with a specific missing feature, contact us. We will study if is feasible or not to install it.
Module Release Stages
To ensure proper software lifecycle management, PModules uses three release stages: unstable, stable, and deprecated.
-
Unstable Release Stage:
- Contains experimental or under-development software versions.
- Not visible to users by default. Use explicitly:
module use unstable
- Software is promoted to stable after validation.
-
Stable Release Stage:
- Default stage, containing fully tested and supported software versions.
- Recommended for all production workloads.
-
Deprecated Release Stage:
- Contains software versions that are outdated or discontinued.
- These versions are hidden by default but can be explicitly accessed:
module use deprecated
- Deprecated software can still be loaded directly without additional configuration to ensure user transparency.
PModules commands
Below is listed a summary of common module
commands:
module use # show all available PModule Software Groups as well as Release Stages
module avail # to see the list of available software packages provided via pmodules
module use unstable # to get access to a set of packages not fully tested by the community
module load <package>/<version> # to load specific software package with a specific version
module search <string> # to search for a specific software package and its dependencies.
module list # to list which software is loaded in your environment
module purge # unload all loaded packages and cleanup the environment
Please refer to the external PSI Modules document for
detailed information about the module
command.
module use/unuse
Without any parameter, use
lists all available PModule Software Groups and Release Stages.
module use
When followed by a parameter, use
/unuse
invokes/uninvokes a PModule Software Group or Release Stage.
module use EM # Invokes the 'EM' software group
module unuse EM # Uninvokes the 'EM' software group
module use unstable # Invokes the 'unstable' Release stable
module unuse unstable # Uninvokes the 'unstable' Release stable
module avail
This option lists all available PModule Software Groups and their packages.
Please run module avail --help
for further listing options.
module search
This is used to search for software packages. By default, if no Release Stage or Software Group is specified
in the options of the module search
command, it will search from the already invoked Software Groups and Release Stages.
Direct package dependencies will be also showed.
🔥 [caubet_m@login001:~]# module search openmpi
Module Rel.stage Group Overlay Requires
--------------------------------------------------------------------------------
openmpi/4.1.6 stable Compiler Alps gcc/12.3.0
openmpi/4.1.6 stable Compiler Alps gcc/13.3.0
openmpi/4.1.6 stable Compiler Alps gcc/14.2.0
openmpi/4.1.6 stable Compiler Alps intelcc/22.2
openmpi/5.0.5 stable Compiler Alps gcc/8.5.0
openmpi/5.0.5 stable Compiler Alps gcc/12.3.0
openmpi/5.0.5 stable Compiler Alps gcc/14.2.0
openmpi/5.0.5 stable Compiler Alps intelcc/22.2
Please run module search --help
for further search options.
module load/unload
This loads/unloads specific software packages. Packages might have direct dependencies that need to be loaded first. Other dependencies will be automatically loaded.
In the example below, the openmpi/5.0.5
package will be loaded, however gcc/14.2.0
must be loaded as well as this is a strict dependency. Direct dependencies must be loaded in advance. Users can load multiple packages one by one or at once. This can be useful for instance when loading a package with direct dependencies.
# Single line
module load gcc/14.2.0 openmpi/5.0.5
# Multiple line
module load gcc/14.2.0
module load openmpi/5.0.5
module purge
This command is an alternative to module unload
, which can be used to unload all loaded module files.
module purge
Requesting New PModules Packages
The PModules system is designed to accommodate the diverse software needs of Merlin7 users. Below are guidelines for requesting new software or versions to be added to PModules.
Requesting Missing Software
If a specific software package is not available in PModules and there is interest from multiple users:
- Contact Support: Let us know about the software, and we will assess its feasibility for deployment.
- Deployment Timeline: Adding new software to PModules typically takes a few days, depending on complexity and compatibility.
- User Involvement: If you are interested in maintaining the software package, please inform us. Collaborative maintenance helps ensure timely updates and support.
Requesting a Missing Version
If the currently available versions of a package do not meet your requirements:
- New Versions: Requests for newer versions are generally supported, especially if there is interest from multiple users.
- Intermediate Versions: Installation of intermediate versions (e.g., versions between the current stable and deprecated versions) can be considered if there is a strong justification, such as specific features or compatibility requirements.
General Notes
- New packages or versions are prioritized based on their relevance and usage.
- For any request, providing detailed information about the required software or version (e.g., name, version, features) will help expedite the process.