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/10/16 12:53] – admin | apptainer [2026/11/02 10:20] (Version actuelle) – admin | ||
|---|---|---|---|
| Ligne 43: | Ligne 43: | ||
| Pour installer d' | Pour installer d' | ||
| + | |||
| + | **Remarque**. Si votre logiciel n' | ||
| + | |||
| + | **Astuce** : demandez à une [[https:// | ||
| ==== 4. Construire l' | ==== 4. Construire l' | ||
| Ligne 63: | Ligne 67: | ||
| ==== 5. Utiliser l' | ==== 5. Utiliser l' | ||
| - | Le principe : on préfixe chaque commande par '' | + | Rangez l'image dans le répertoire |
| - | Placez votre programme C dans le répertoire | + | Le principe : on préfixe chaque commande par '' |
| - | Compilez-le avec l' | + | Exemple : on crée [[# |
| + | |||
| + | Compilez-le en utilisant votre image (il suffit donc de préfixer gcc par '' | ||
| <code bash> | <code bash> | ||
| Ligne 97: | Ligne 103: | ||
| ===== Pour aller plus loin ===== | ===== Pour aller plus loin ===== | ||
| + | |||
| + | ==== Utiliser l' | ||
| + | |||
| + | Sur un serveur en accès direct (voir [[accesdirect|travailler en accès direct]]), vous pouvez ouvrir un terminal à l' | ||
| + | |||
| + | <code bash> | ||
| + | apptainer shell openblas.sif | ||
| + | </ | ||
| + | |||
| + | Tapez '' | ||
| + | |||
| ==== Comprendre le fichier .def ==== | ==== Comprendre le fichier .def ==== | ||
| Ligne 118: | Ligne 135: | ||
| %post | %post | ||
| apt-get update -y | apt-get update -y | ||
| - | apt-get install -y gcc-13 libopenblas-dev | + | apt-get install -y gcc libopenblas-dev |
| </ | </ | ||
| Ligne 125: | Ligne 142: | ||
| === Option B — Compilation d' | === Option B — Compilation d' | ||
| - | À utiliser si vous voulez contrôler précisément les options de compilation (optimisations CPU, multithread, | + | A utiliser si vous voulez contrôler précisément les options de compilation (optimisations CPU, multithread, |
| < | < | ||
| Ligne 133: | Ligne 150: | ||
| %post | %post | ||
| apt-get update -y | apt-get update -y | ||
| - | apt-get install -y gcc-13 make wget tar ca-certificates | + | apt-get install -y gcc make wget tar ca-certificates |
| cd /tmp | cd /tmp | ||
| Ligne 139: | Ligne 156: | ||
| tar xzf OpenBLAS-0.3.26.tar.gz | tar xzf OpenBLAS-0.3.26.tar.gz | ||
| cd OpenBLAS-0.3.26 | cd OpenBLAS-0.3.26 | ||
| - | make CC=gcc-13 | + | make DYNAMIC_ARCH=1 |
| make PREFIX=/ | make PREFIX=/ | ||
| Ligne 152: | Ligne 169: | ||
| * La compilation depuis les sources est plus longue (de l' | * La compilation depuis les sources est plus longue (de l' | ||
| - | Avec cette option, | + | Avec cette option, |
| <code bash> | <code bash> | ||
| - | apptainer exec $IMG gcc-13 -O3 -march=native -o $BIN $SRC \ | + | apptainer exec openblas.sif ls / |
| - | -I/ | + | |
| - | -L/ | + | |
| - | -lopenblas \ | + | |
| - | -Wl,-rpath,/usr/ | + | |
| </ | </ | ||
| + | |||
| + | Et pour compiler votre programme (étape 5), indiquez au compilateur où trouver les fichiers : | ||
| + | |||
| + | <code bash> | ||
| + | apptainer exec openblas.sif gcc -o mon_exe mon_code.c -I/ | ||
| + | </ | ||
| + | |||
| + | Le script Slurm ne change pas. | ||
| ==== À propos de l' | ==== À propos de l' | ||
| Ligne 166: | Ligne 187: | ||
| Le fichier '' | Le fichier '' | ||
| - | L' | + | L' |
| Pour modifier l' | Pour modifier l' | ||
| Ligne 184: | Ligne 205: | ||
| ==== Exemple de programme C avec OpenBLAS ==== | ==== Exemple de programme C avec OpenBLAS ==== | ||
| - | Programme de test (multiplication de matrices), à placer dans '' | + | Programme de test (multiplication de matrices), à enregistrer sous '' |
| <code c> | <code c> | ||
| - | /* bench_dgemm.c */ | + | /* mon_code.c */ |
| #include < | #include < | ||
| #include < | #include < | ||
| Ligne 230: | Ligne 251: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | |||
apptainer.1792155215.txt.gz · Dernière modification : 2026/10/16 12:53 de admin