Expanded PModules docs
This commit is contained in:
@ -28,7 +28,7 @@ Official X11 Forwarding support is through NoMachine. Please follow the document
|
||||
we provide a small recipe for enabling X11 Forwarding in Linux.
|
||||
|
||||
* For enabling client X11 forwarding, add the following to the start of ``~/.ssh/config``
|
||||
to implicitly add ``-Y`` to all ssh connections:
|
||||
to implicitly add ``-X`` to all ssh connections:
|
||||
|
||||
```bash
|
||||
ForwardAgent yes
|
||||
@ -38,9 +38,9 @@ to implicitly add ``-Y`` to all ssh connections:
|
||||
* Alternatively, you can add the option ``-Y`` to the ``ssh`` command. In example:
|
||||
|
||||
```bash
|
||||
ssh -Y $username@merlin-l-01.psi.ch
|
||||
ssh -Y $username@merlin-l-001.psi.ch
|
||||
ssh -Y $username@merlin-l-002.psi.ch
|
||||
ssh -X $username@merlin-l-01.psi.ch
|
||||
ssh -X $username@merlin-l-001.psi.ch
|
||||
ssh -X $username@merlin-l-002.psi.ch
|
||||
```
|
||||
|
||||
* For testing that X11 forwarding works, just run ``xclock``. A X11 based clock should
|
||||
|
@ -38,7 +38,7 @@ we provide a small recipe for enabling X11 Forwarding in MacOS.
|
||||
* Ensure that **[XQuartz](https://www.xquartz.org/)** is installed and running in your MacOS.
|
||||
|
||||
* For enabling client X11 forwarding, add the following to the start of ``~/.ssh/config``
|
||||
to implicitly add ``-Y`` to all ssh connections:
|
||||
to implicitly add ``-X`` to all ssh connections:
|
||||
|
||||
```bash
|
||||
ForwardAgent yes
|
||||
@ -48,9 +48,9 @@ to implicitly add ``-Y`` to all ssh connections:
|
||||
* Alternatively, you can add the option ``-Y`` to the ``ssh`` command. In example:
|
||||
|
||||
```bash
|
||||
ssh -Y $username@merlin-l-01.psi.ch
|
||||
ssh -Y $username@merlin-l-001.psi.ch
|
||||
ssh -Y $username@merlin-l-002.psi.ch
|
||||
ssh -X $username@merlin-l-01.psi.ch
|
||||
ssh -X $username@merlin-l-001.psi.ch
|
||||
ssh -X $username@merlin-l-002.psi.ch
|
||||
```
|
||||
|
||||
* For testing that X11 forwarding works, just run ``xclock``. A X11 based clock should
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Using PModules
|
||||
#tags:
|
||||
#keywords:
|
||||
last_updated: 20 June 2019
|
||||
last_updated: 21 May 2021
|
||||
#summary: ""
|
||||
sidebar: merlin6_sidebar
|
||||
permalink: /merlin6/using-modules.html
|
||||
@ -17,11 +17,47 @@ 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.
|
||||
|
||||
### Basic commands:
|
||||
## Module release stages
|
||||
|
||||
Basic generic commands would be:
|
||||
Three different **release stages** are available in Pmodules, ensuring proper software life cycling. These are the following: **`unstable`**, **`stable`** and **`deprecated`**
|
||||
|
||||
### Unstable release stage
|
||||
|
||||
The **`unstable`** release stage contains *unstable* releases of software. Software compilations here are usually under development or are not fully production ready.
|
||||
|
||||
This release stage is **not directly visible** by the end users, and needs to be explicitly invoked as follows:
|
||||
|
||||
```bash
|
||||
module use unstable
|
||||
```
|
||||
|
||||
Once software is validated and considered production ready, this is moved to the `stable` release stage.
|
||||
|
||||
### Stable release stage
|
||||
|
||||
The **`stable`** release stage contains *stable* releases of software, which have been deeply tested and are fully supported.
|
||||
|
||||
This is the ***default*** release stage, and is visible by default. Whenever possible, users are strongly advised to use packages from this release stage.
|
||||
|
||||
### Deprecated release stage
|
||||
|
||||
The **`deprecated`** release stage contains *deprecated* releases of software. Software in this release stage is usually deprecated or discontinued by their developers.
|
||||
Also, minor versions or redundant compilations are moved here as long as there is a valid copy in the *stable* repository.
|
||||
|
||||
This release stage is **not directly visible** by the users, and needs to be explicitly invoked as follows:
|
||||
|
||||
```bash
|
||||
module use deprecated
|
||||
```
|
||||
|
||||
However, software moved to this release stage can be directly loaded without the need of invoking it. This ensure proper life cycling of the software, and making it transparent for the end users.
|
||||
|
||||
## PModules commands
|
||||
|
||||
Below is listed a summary of all available commands:
|
||||
|
||||
```bash
|
||||
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
|
||||
@ -30,21 +66,73 @@ module list # to list which software is loaded in your envi
|
||||
module purge # unload all loaded packages and cleanup the environment
|
||||
```
|
||||
|
||||
Also, you can load multiple packages at once. This can be useful for instance when loading a package with its dependencies:
|
||||
### module use/unuse
|
||||
|
||||
Without any parameter, `use` **lists** all available PModule **Software Groups and Release Stages**.
|
||||
|
||||
```bash
|
||||
module use
|
||||
```
|
||||
|
||||
When followed by a parameter, `use`/`unuse` invokes/uninvokes a PModule **Software Group** or **Release Stage**.
|
||||
|
||||
```bash
|
||||
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.
|
||||
|
||||
```bash
|
||||
(base) [caubet_m@merlin-l-001 caubet_m]$ module search openmpi/4.0.5_slurm
|
||||
|
||||
Module Release Group Requires
|
||||
---------------------------------------------------------------------------
|
||||
openmpi/4.0.5_slurm stable Compiler gcc/8.4.0
|
||||
openmpi/4.0.5_slurm stable Compiler gcc/9.2.0
|
||||
openmpi/4.0.5_slurm stable Compiler gcc/9.3.0
|
||||
openmpi/4.0.5_slurm stable Compiler intel/20.4
|
||||
|
||||
(base) [caubet_m@merlin-l-001 caubet_m]$ module load intel/20.4 openmpi/4.0.5_slurm
|
||||
```
|
||||
|
||||
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/4.0.5_slurm`` package will be loaded, however ``gcc/9.3.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.
|
||||
|
||||
```bash
|
||||
# Single line
|
||||
module load gcc/9.2.0 openmpi/3.1.5-1_merlin6
|
||||
module load gcc/9.3.0 openmpi/4.0.5_slurm
|
||||
|
||||
# Multiple line
|
||||
module load gcc/9.2.0
|
||||
module load openmpi/3.1.5-1_merlin6
|
||||
module load gcc/9.3.0
|
||||
module load openmpi/4.0.5_slurm
|
||||
```
|
||||
|
||||
In the example above, we load ``openmpi/3.1.5-1_merlin6`` but we also specify ``gcc/9.2.0`` which is a strict dependency. The dependency must be
|
||||
loaded in advance.
|
||||
#### module purge
|
||||
|
||||
---
|
||||
This command is an alternative to `module unload`, which can be used to unload **all** loaded module files.
|
||||
|
||||
```bash
|
||||
module purge
|
||||
```
|
||||
|
||||
## When to request for new PModules packages
|
||||
|
||||
|
Reference in New Issue
Block a user