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édenteDernière révisionLes deux révisions suivantes | ||
documentation:tutorials:build:fortran_paralleleopemmp [2017/01/23 10:25] – [Langage Fortran 90, code parallèle OpenMP] cicaluga | documentation:tutorials:build:fortran_paralleleopemmp [2020/08/25 15:58] – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Compilation et d' | ====== Compilation et d' | ||
- | {{INLINETOC}} | ||
===== Langage Fortran 90, code parallèle OpenMP ===== | ===== Langage Fortran 90, code parallèle OpenMP ===== | ||
Ligne 10: | Ligne 9: | ||
- | * définition de l' | + | * définition de l' |
<code bash> | <code bash> | ||
- | source / | + | module |
- | module | + | module load GCC/7.2.0 |
- | module load Base/psmn | + | |
- | + | ||
- | module load intel/14.0.1 | + | |
</ | </ | ||
- | |||
- | * définition de l' | ||
- | <code bash> | ||
- | source / | ||
- | module use / | ||
- | module load Base/psmn | ||
- | |||
- | module load intel/ | ||
- | </ | ||
- | |||
* vérification de la version du compilateur | * vérification de la version du compilateur | ||
< | < | ||
- | ifort --version | + | gfortran |
- | ifort (IFORT) 14.0.1 20131008 | + | GNU Fortran |
+ | Copyright (C) 2017 Free Software Foundation, Inc. | ||
</ | </ | ||
Ligne 38: | Ligne 25: | ||
< | < | ||
- | ifort -openmp | + | gfortran |
</ | </ | ||
Ligne 47: | Ligne 34: | ||
< | < | ||
- | setenv OMP_NUM_THREADS "2" (pour tcsh) | + | setenv OMP_NUM_THREADS "16" (pour tcsh) |
- | export OMP_NUM_THREADS=2 (pour bash) | + | export OMP_NUM_THREADS=16 (pour bash) |
./ | ./ | ||
</ | </ | ||
Ligne 57: | Ligne 44: | ||
Hello World from thread = 0 | Hello World from thread = 0 | ||
- | | + | |
+ | Hello World from thread | ||
+ | Hello World from thread = 14 | ||
+ | Hello World from thread = 13 | ||
+ | Hello World from thread = 12 | ||
+ | Hello World from thread = 15 | ||
+ | Hello World from thread = 4 | ||
Hello World from thread = 1 | Hello World from thread = 1 | ||
+ | Hello World from thread = 6 | ||
+ | Hello World from thread = 11 | ||
+ | Hello World from thread = 2 | ||
+ | Hello World from thread = 10 | ||
+ | Hello World from thread = 7 | ||
+ | Hello World from thread = 9 | ||
+ | Hello World from thread = 8 | ||
+ | Hello World from thread = 5 | ||
</ | </ | ||
Ligne 65: | Ligne 66: | ||
- | On utilise un script de soumission [[documentation: | + | On utilise un script de soumission [[documentation: |
- | C'est le script de soumission qui configure l' | + | C'est le script de soumission qui configure l' |
- | '' | + | '' |
< | < | ||
- | qsub batch.csh | + | qsub script_OpenMP |
- | Your job 769504 | + | Your job 341093 |
+ | |||
+ | qstat | ||
+ | |||
+ | job-ID | ||
+ | ----------------------------------------------------------------------------------------------------------------- | ||
+ | | ||
qstat | qstat | ||
- | job-ID | + | job-ID |
----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ||
- | 769504 | + | 341093 |
</ | </ | ||
- | * La sortie de l' | + | * La sortie de l' |
- | * La sortie erreur (erreur standard) est redirigée dans le fichier '' | + | * La sortie erreur (erreur standard) est redirigée dans le fichier '' |
| | ||
< | < | ||
- | cat ProgOpenMP.o769504 | + | cat ProgrammeOpenMP.o341093 |
Hello World from thread = 0 | Hello World from thread = 0 | ||
- | | + | |
+ | Hello World from thread | ||
+ | Hello World from thread = 14 | ||
+ | Hello World from thread = 13 | ||
+ | Hello World from thread = 12 | ||
+ | Hello World from thread = 15 | ||
+ | Hello World from thread = 4 | ||
Hello World from thread = 1 | Hello World from thread = 1 | ||
+ | Hello World from thread = 6 | ||
+ | Hello World from thread = 11 | ||
+ | Hello World from thread = 2 | ||
+ | Hello World from thread = 10 | ||
+ | Hello World from thread = 7 | ||
+ | Hello World from thread = 9 | ||
+ | Hello World from thread = 8 | ||
+ | Hello World from thread = 5 | ||
</ | </ |