Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
documentation:tutorials:build:fortran_paralleleopemmp [2018/02/14 10:02] cicalugadocumentation:tutorials:build:fortran_paralleleopemmp [2020/08/25 15:58] – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ====== Compilation et d'exécution d'un programme (Fortran) ====== ====== Compilation et d'exécution d'un programme (Fortran) ======
  
-{{INLINETOC}} 
 ===== Langage Fortran 90, code parallèle OpenMP ===== ===== Langage Fortran 90, code parallèle OpenMP =====
  
Ligne 26: Ligne 25:
  
 <code> <code>
-gfortran -openmp -o ProgPAR_OpenMP.f90.exe ProgPAR_OpenMP.f90 +gfortran -fopenmp -o ProgPAR_OpenMP.f90.exe ProgPAR_OpenMP.f90 
 </code> </code>
  
Ligne 35: Ligne 34:
  
 <code> <code>
-setenv OMP_NUM_THREADS "8" (pour tcsh) +setenv OMP_NUM_THREADS "16" (pour tcsh) 
-export OMP_NUM_THREADS=(pour bash)+export OMP_NUM_THREADS=16 (pour bash)
 ./ProgPAR_OpenMP.f90.exe ./ProgPAR_OpenMP.f90.exe
 </code> </code>
Ligne 45: Ligne 44:
  
 Hello World from thread =            0 Hello World from thread =            0
- Number of threads =            8 + Number of threads =           16
- Hello World from thread =            7 +
- Hello World from thread =            6+
  Hello World from thread =            3  Hello World from thread =            3
- Hello World from thread =            2 + Hello World from thread =           14 
- Hello World from thread =            1+ Hello World from thread =           13 
 + Hello World from thread =           12 
 + Hello World from thread =           15
  Hello World from thread =            4  Hello World from thread =            4
 + 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  Hello World from thread =            5
  
Ligne 59: Ligne 66:
  
  
-On utilise un script de soumission [[documentation:tutorials:submit:jobopenmptcsh|batch.csh]] (ou [[documentation:tutorials:submit:jobopenmpbash|batch.sh]], pour le shell bash) pour soumettre le job sur les clusters de calcul.+On utilise un script de soumission [[documentation:tutorials:submit:jobopenmptcsh|script_OpenMP.csh]] (ou [[documentation:tutorials:submit:jobopenmpbash|script_OpenMP.sh]], pour le shell bash) pour soumettre le job sur les clusters de calcul.
  
-C'est le script de soumission qui configure l'environnement puis appelle votre binaire (avec ses options, s'il en a) sur le noeud d'execution.+C'est le script de soumission qui configure l'environnementpuis appelle votre binaire (avec ses options, s'il en a) sur le noeud d'execution.
  
-''SGE -> batch.csh -> binaire''+''SGE -> script_OpenMP -> binaire''
  
 <code> <code>
-qsub batch.csh +qsub script_OpenMP 
-Your job 769504 ("ProgrammeOpenMP") has been submitted+Your job 341093 ("ProgrammeOpenMP") has been submitted 
 qstat qstat
  
-job-ID  prior   name             user         state submit/start at     queue                  slots ja-task-ID +job-ID  prior   name             user         state submit/start at     queue                           slots ja-task-ID 
 ----------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------
- 769504 0.00000 ProgrammeOpenMP   cicaluga     qw    06/12/2012 07:21:46+ 341093 0.00000 ProgrammeOpenMP ccalugar     qw    02/14/2018 14:55:55                                   16         
 + 
 +qstat 
 + 
 +job-ID  prior   name             user         state submit/start at     queue                           slots ja-task-ID  
 +----------------------------------------------------------------------------------------------------------------- 
 +341093  0.07300 ProgrammeOpenMP ccalugar         02/14/2018 14:57:55  E5-2667v2h6deb128@c8220node213     16
 </code> </code>
  
-  * La sortie de l'écran (sortie standard) est redirigée dans le fichier ''ProgrammeOpenMP.o769504'' +  * La sortie de l'écran (sortie standard) est redirigée dans le fichier ''ProgrammeOpenMP.o341093'' 
-  * La sortie erreur (erreur standard) est redirigée dans le fichier ''ProgrammeOpenMP.e769504''+  * La sortie erreur (erreur standard) est redirigée dans le fichier ''ProgrammeOpenMP.e341093''
      
 <code> <code>
-cat ProgrammeOpenMP.o769504+cat ProgrammeOpenMP.o341093
 Hello World from thread =            0 Hello World from thread =            0
- Number of threads =            8 + Number of threads =           16
- Hello World from thread =            7 +
- Hello World from thread =            6+
  Hello World from thread =            3  Hello World from thread =            3
- Hello World from thread =            2 + Hello World from thread =           14 
- Hello World from thread =            1+ Hello World from thread =           13 
 + Hello World from thread =           12 
 + Hello World from thread =           15
  Hello World from thread =            4  Hello World from thread =            4
 + 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  Hello World from thread =            5
 </code>  </code>