Aller au contenu

Utilisation des modules

De nombreux logiciels sont disponibles sur la plateforme de calcul VALERIA. Ces logiciels sont principalement fournis par l'Alliance de recherche numérique du Canada (Alliance). Ceci assure la compatibilité entre les plateformes de calcul.

La gestion des logiciels s'effectue à l'aide de la commande module, qui permet de :

  • Chercher les logiciels disponibles
  • Décrire les logiciels et leurs spécifications
  • Configurer et gérer l'utilisation des logiciels

La commande module contient plusieurs sous-commandes et options. Utiliser la sous-commande module help pour obtenir plus d'information. La page Utiliser des modules de l'Alliance en décrit les fonctionnalités.

Avec Python, la plupart des logiciels et librairies ne proviennent pas des modules, mais plutôt de paquets binaires (wheels). La page Python de l'Alliance en décrit l'installation et l'usage.

Les paquets R et Perl ne sont pas accessibles via des modules. Il est recommandé de les installer à même votre espace personnel ou celui de votre projet. Consulter les pages R et Perl de l'Alliance pour plus de détails.

Aide-mémoire module

Description Commande Exemples
Afficher les modules disponibles1 module avail -
Chercher un module module spider <nom> module spider python
Décrire un module module spider <nom>/<version> module spider python/3.12
Charger un module module load <nom>
module load <nom>/<version>
module load python
module load python/3.12
Décharger un module module unload <nom> module unload python
Lister les modules chargés module list -
Décharger tout module purge -

1 Pour l'environnement standard courant (Ex. : StdEnv/2023)

Chargement automatique de modules

Il est déconseillé de charger automatiquement des modules en utilisant les fichiers .bashrc ou .bash_profile.

La bonne pratique est plutôt de charger les modules nécessaires, soit :

  • sur la ligne de commande pour un usage interactif
  • dans vos scripts de tâches afin qu'elles soient reproductibles
  • en utilisant les collections de modules

Exemples d'usage interactif

Lister les modules chargés

module list

Chercher un module

module spider <nom-du-module>

Obtenir de l'information détaillée d'un module

module spider <nom-du-module>/<version-du-module>

Charger un module

module load <nom-du-module>/<version-du-module>

Spécifier la version du module est facultatif, mais recommandé, pour le chargement. Une version par défaut sera chargée si aucune n'est spécifiée.

Utilisation de modules dans un script

Exemple d'un script avec chargement de module avec versions explicites :

#!/bin/bash
#
#SBATCH --partition=batch
#SBATCH --cpus-per-task=2
#SBATCH --mem=2G
#

# Chargement des modules désirés

module load python/3.10.2 r/4.1.2

# Placer les instructions liées à vos tâches ici

python -V
R --version | head -n 1

Utiliser les collections de modules

Une collection de modules consiste en une configuration de modules chargés, puis sauvegardée, pour une réutilisation ultérieure.

Charger les modules requis

module load StdEnv/2023 python/3.12 nextflow/23.10.0

Sauvegarder une collection

module save python312-collection

Ultérieurement, charger les modules de la collection

module restore python312-collection

Liens utiles :