apptainer
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| apptainer [2026/03/20 14:38] – admin | apptainer [2026/03/20 15:11] (Version actuelle) – admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Utilisation d' | ====== Utilisation d' | ||
| - | Cette page décrit comment | + | Cette page décrit comment utiliser |
| + | utilisant la bibliothèque OpenBLAS sur le cluster. Elle couvre la création de | ||
| + | l' | ||
| + | sur le cluster, et la soumission d'un job Slurm. | ||
| + | |||
| + | OpenBLAS n' | ||
| + | la bibliothèque dans une image portable et de l' | ||
| + | l' | ||
| ===== Prérequis ===== | ===== Prérequis ===== | ||
| Ligne 35: | Ligne 42: | ||
| Recommandée si vous souhaitez contrôler précisément les options de compilation | Recommandée si vous souhaitez contrôler précisément les options de compilation | ||
| - | (optimisations CPU, support multithread, | + | (optimisations CPU, support multithread, |
| < | < | ||
| Ligne 54: | Ligne 61: | ||
| %environment | %environment | ||
| export LD_LIBRARY_PATH=/ | export LD_LIBRARY_PATH=/ | ||
| - | |||
| - | %labels | ||
| - | Author | ||
| - | Version | ||
| - | Description Image HPC avec GCC 13 et OpenBLAS compilé depuis les sources | ||
| </ | </ | ||
| - | <note tip> | + | |
| - | Compiler depuis les sources (Option B) permet d' | + | |
| - | et les mêmes options que sur le cluster, ce qui est utile pour des benchmarks de performance. | + | |
| - | </ | + | |
| ===== 2. Construire l' | ===== 2. Construire l' | ||
| Ligne 88: | Ligne 87: | ||
| apptainer exec openblas.sif ls / | apptainer exec openblas.sif ls / | ||
| </ | </ | ||
| + | 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 : | ||
| + | / | ||
| + | / | ||
| + | |||
| + | Si l'une des deux commandes retourne une erreur, l' | ||
| + | recommencez la construction. | ||
| ===== 3. Transférer l' | ===== 3. Transférer l' | ||
| Ligne 94: | Ligne 101: | ||
| <code bash> | <code bash> | ||
| - | scp openblas.sif | + | scp openblas.sif |
| </ | </ | ||
| + | /* | ||
| <note warning> | <note warning> | ||
| Évitez de stocker les images '' | Évitez de stocker les images '' | ||
| Ligne 102: | Ligne 110: | ||
| Pour des tests ponctuels, le '' | Pour des tests ponctuels, le '' | ||
| </ | </ | ||
| + | */ | ||
| ===== 4. Préparer le code source ===== | ===== 4. Préparer le code source ===== | ||
| - | Voici un exemple de programme C utilisant OpenBLAS (multiplication de matrices | + | Voici un exemple de programme C utilisant OpenBLAS (multiplication de matrices) : |
| <code c> | <code c> | ||
| Ligne 140: | Ligne 149: | ||
| double gflops = (2.0 * N * N * N) / elapsed / 1e9; | double gflops = (2.0 * N * N * N) / elapsed / 1e9; | ||
| - | printf(" | + | printf(" |
| free(A); free(B); free(C); | free(A); free(B); free(C); | ||
| Ligne 159: | Ligne 168: | ||
| <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=~/ | IMG=~/ | ||
| Ligne 179: | Ligne 184: | ||
| -Wl, | -Wl, | ||
| - | # Exécution | + | # Exécution |
| - | for i in $(seq 1 10); do | + | apptainer exec $IMG $BIN |
| - | echo -n "Run $i : " | + | |
| - | | + | |
| - | done | + | |
| </ | </ | ||
| Ligne 198: | Ligne 201: | ||
| </ | </ | ||
| - | Surveillez l' | ||
| - | <code bash> | + | Ensuite tout se déroule comme un job classique. |
| - | squeue -u $USER | + | |
| - | </ | + | |
| - | Consultez les résultats une fois le job terminé : | ||
| - | |||
| - | <code bash> | ||
| - | cat bench_apptainer_< | ||
| - | </ | ||
| - | |||
| - | ===== Résultats attendus ===== | ||
| - | |||
| - | < | ||
| - | Run 1 : DGEMM N=8192 : xx.xxx s | xx.xx GFLOPS | ||
| - | Run 2 : DGEMM N=8192 : xx.xxx s | xx.xx GFLOPS | ||
| - | ... | ||
| - | </ | ||
| ===== Références ===== | ===== Références ===== | ||
apptainer.1774013915.txt.gz · Dernière modification : 2026/03/20 14:38 de admin