Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
documentation:tutorials:build:fortran_parallele [2020/08/25 15:58] – modification externe 127.0.0.1 | documentation:tutorials:build:fortran_parallele [2023/01/13 09:35] (Version actuelle) – supprimée ccalugar | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Compilation et exécution d'un programme (Fortran 90) ====== | ||
- | |||
- | ===== Langage Fortran 90, code parallèle (MPI) ===== | ||
- | |||
- | Le programme [[documentation: | ||
- | |||
- | ==== Compilation du programme : ==== | ||
- | |||
- | === Définition de l' | ||
- | |||
- | * définition de l' | ||
- | <code bash> | ||
- | module avail | ||
- | module load GCC/ | ||
- | </ | ||
- | |||
- | |||
- | * Vérification | ||
- | < | ||
- | mpifort -showme | ||
- | |||
- | gfortran ..... | ||
- | </ | ||
- | |||
- | === Compilation : === | ||
- | |||
- | |||
- | < | ||
- | mpifort -o SommeVecVecPAR.exe SommeVecVecPAR.f90 | ||
- | </ | ||
- | |||
- | |||
- | Le fichier binaire (exécutable) '' | ||
- | |||
- | ====Exécution du programme :==== | ||
- | |||
- | === Exécution sur le serveur de compilation : === | ||
- | |||
- | < | ||
- | mpirun -np 2 ./ | ||
- | </ | ||
- | |||
- | Le résultat est affiché a l' | ||
- | |||
- | < | ||
- | LES DEUX VECTEURS : | ||
- | A = 1 | ||
- | B = 9 | ||
- | |||
- | LES DEUX VECTEURS LOCAUX : | ||
- | Je suis le proc 0 parmi 2 processus | ||
- | A local ( proc 0 ) = 1 | ||
- | B local ( proc 0 ) = 9 | ||
- | Je suis le proc 1 parmi 2 processus | ||
- | A local ( proc 1 ) = 6 | ||
- | B local ( proc 1 ) = 4 | ||
- | LE VECTEUR SOMME LOCAL : | ||
- | C local ( proc 1 ) = | ||
- | C local ( proc 0 ) = | ||
- | LE VECTEUR SOMME : | ||
- | C = | ||
- | </ | ||
- | |||
- | === Exécution sur le cluster : === | ||
- | |||
- | |||
- | On utilise un script de soumission [[documentation: | ||
- | |||
- | |||
- | C'est le script de soumission qui configure l' | ||
- | |||
- | '' | ||
- | |||
- | < | ||
- | qsub batch.sh | ||
- | Your job 336000 (" | ||
- | </ | ||
- | |||
- | < | ||
- | qstat | ||
- | |||
- | job-ID | ||
- | ----------------------------------------------------------------------------------------------------------------- | ||
- | 336000 0.00000 SommeVecVecPAR | ||
- | |||
- | qstat | ||
- | |||
- | job-ID | ||
- | ----------------------------------------------------------------------------------------------------------------- | ||
- | 336000 0.05000 SommeVecVecPAR | ||
- | </ | ||
- | |||
- | La sortie de l' | ||
- | |||
- | < | ||
- | cat SommeVecVecPAR.o336000 | ||
- | |||
- | / | ||
- | LES DEUX VECTEURS : | ||
- | A = 1 | ||
- | B = 9 | ||
- | LES DEUX VECTEURS LOCAUX : | ||
- | Je suis le proc 0 parmi 2 processus | ||
- | A local ( proc 0 ) = 1 | ||
- | B local ( proc 0 ) = 9 | ||
- | LE VECTEUR SOMME LOCAL : | ||
- | C local ( proc 0 ) = | ||
- | LE VECTEUR SOMME : | ||
- | C = | ||
- | Je suis le proc 1 parmi 2 processus | ||
- | A local ( proc 1 ) = 6 | ||
- | B local ( proc 1 ) = 4 | ||
- | C local ( proc 1 ) = | ||
- | </ |