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 | ||
documentation:tutorials:build:fortran_parallelehybride [2018/04/24 14:08] – cicaluga | documentation:tutorials:build:fortran_parallelehybride [2023/01/13 09:35] (Version actuelle) – supprimée ccalugar | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Compilation et d' | ||
- | {{INLINETOC}} | ||
- | ===== Langage C, code parallèle hybrid OpenMP& | ||
- | |||
- | Soit le programme écrit en C et parallèle hybrid OpenMP& | ||
- | |||
- | ==== Compilation du programme : ==== | ||
- | |||
- | === Définition de l' | ||
- | |||
- | |||
- | * définition de l' | ||
- | <code bash> | ||
- | module avail | ||
- | module load GCC/ | ||
- | </ | ||
- | |||
- | |||
- | **Compilation** : | ||
- | |||
- | < | ||
- | mpicc -fopenmp ProgPAR_OpenMP_MPI.c -o ProgPAR_OpenMP_MPI.c.exe | ||
- | |||
- | </ | ||
- | |||
- | Le fichier binaire (exécutable) '' | ||
- | ====Exécution du programme :==== | ||
- | |||
- | === Exécution sur le serveur de compilation : === | ||
- | |||
- | < | ||
- | export OMP_NUM_THREADS=8 (pour bash) | ||
- | setenv OMP_NUM_THREADS " | ||
- | mpirun -np 2 -bind-to socket -npersocket 1 ./ | ||
- | </ | ||
- | |||
- | Le résultat est affiché a l' | ||
- | |||
- | < | ||
- | |||
- | Bonjour, je suis le thread 1 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 3 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 2 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 0 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 6 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 7 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 5 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 4 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 7 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 1 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 0 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 2 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 5 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 6 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 3 parmi 8 threads du process | ||
- | Bonjour, je suis le thread 4 parmi 8 threads du process | ||
- | |||
- | </ | ||
- | |||
- | === Exécution sur le cluster : === | ||
- | |||
- | |||
- | On utilise un script de soumission [[documentation: | ||
- | |||
- | C'est le script de soumission qui configure l' | ||
- | |||
- | '' | ||
- | |||
- | < | ||
- | qsub script_OpenMP_MPI | ||
- | Your job 341093 (" | ||
- | |||
- | qstat | ||
- | |||
- | job-ID | ||
- | ----------------------------------------------------------------------------------------------------------------- | ||
- | | ||
- | |||
- | qstat | ||
- | |||
- | job-ID | ||
- | ----------------------------------------------------------------------------------------------------------------- | ||
- | 341093 | ||
- | </ | ||
- | |||
- | * La sortie de l' | ||
- | * La sortie erreur (erreur standard) est redirigée dans le fichier '' | ||
- | | ||
- | < | ||
- | cat ProgrammeOpenMP_MPI.o341093 | ||
- | .... | ||
- | </ |