Outils pour utilisateurs

Outils du site


apptainer

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
apptainer [2026/03/20 14:44] adminapptainer [2026/04/22 16:23] (Version actuelle) admin
Ligne 1: Ligne 1:
 ====== Utilisation d'Apptainer ====== ====== Utilisation d'Apptainer ======
  
-Cette page décrit comment créer et utiliser un conteneur Apptainer sur le cluster. + 
 +//Apptainer est un outil de conteneurisation permettant d’exécuter des applications dans des environnements logiciels isolés, appelés conteneurs. Apptainer s’inscrit dans la même logique que Docker, tout en étant adapté aux contraintes des infrastructures de calcul. Dans le cadre de la plateforme de calcul, il permet d'installer de manière autonome des outils et bibliothèques et de les faire tourner sur les noeuds de calcul.// 
 + 
 +Cette page décrit comment utiliser Apptainer pour faire tourner un programme C 
 +utilisant la bibliothèque OpenBLAS sur le cluster. Elle couvre la création de 
 +l'image conteneur, sa construction sur votre machine personnelle, son transfert 
 +sur le cluster, et la soumission d'un job Slurm. 
 + 
 +OpenBLAS n'étant pas installé sur les nœuds de calcul, Apptainer permet d'embarquer 
 +la bibliothèque dans une image portable et de l'utiliser sans intervention de 
 +l'administrateur système.
  
 ===== Prérequis ===== ===== Prérequis =====
Ligne 80: Ligne 90:
 apptainer exec openblas.sif ls /usr/lib/x86_64-linux-gnu/libopenblas* apptainer exec openblas.sif ls /usr/lib/x86_64-linux-gnu/libopenblas*
 </code> </code>
 +La première commande doit afficher la version de GCC, par exemple :
 +  gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
  
 +La seconde doit afficher le chemin de la bibliothèque OpenBLAS, par exemple :
 +  /usr/lib/x86_64-linux-gnu/libopenblas.so
 +  /usr/lib/x86_64-linux-gnu/libopenblas.so.0
 +
 +Si l'une des deux commandes retourne une erreur, l'image est incomplète —
 +recommencez la construction.
 ===== 3. Transférer l'image sur le cluster ===== ===== 3. Transférer l'image sur le cluster =====
  
Ligne 153: Ligne 171:
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
-#SBATCH --job-name=bench_apptainer 
 #SBATCH --nodes=1 #SBATCH --nodes=1
 #SBATCH --ntasks=1 #SBATCH --ntasks=1
 #SBATCH --cpus-per-task=1 #SBATCH --cpus-per-task=1
-#SBATCH --account=votre_compte 
-#SBATCH --output=bench_apptainer_%j.out 
-#SBATCH --error=bench_apptainer_%j.err 
  
 IMG=~/openblas.sif IMG=~/openblas.sif
Ligne 173: Ligne 187:
     -Wl,-rpath,/usr/local/lib     -Wl,-rpath,/usr/local/lib
  
-# Exécution (10 runs) +# Exécution dans le conteneur 
-for i in $(seq 1 10); do +apptainer exec $IMG $BIN 
-    echo -n "Run $i : " +
-    apptainer exec $IMG $BIN +
-done+
 </code> </code>
  
Ligne 192: Ligne 204:
 </code> </code>
  
-Surveillez l'avancement : 
  
-<code bash> +Ensuite tout se déroule comme un job classique.
-squeue -u $USER +
-</code>+
  
-Consultez les résultats une fois le job terminé : 
- 
-<code bash> 
-cat bench_apptainer_<jobid>.out 
-</code> 
- 
-===== Résultats attendus ===== 
- 
-<code> 
-Run 1 : DGEMM N=8192 : xx.xxx s | xx.xx GFLOPS 
-Run 2 : DGEMM N=8192 : xx.xxx s | xx.xx GFLOPS 
-... 
-</code> 
  
 ===== Références ===== ===== Références =====
apptainer.1774014252.txt.gz · Dernière modification : 2026/03/20 14:44 de admin