Ceci est une ancienne révision du document !


Compilation et d'exécution d'un programme (Fortran)

Langage C, code parallèle hybrid OpenMP&MPI

Soit le programme écrit en C et parallèle hybrid OpenMP&MPI ProgPAR_OpenMP&MPI.c qui affiche Hello World. On a deux proc MPI + 8 treads OpenMP par proc MPI.

Compilation du programme :

Définition de l'environnement :

  • définition de l'environnement
module avail
module load GCC/7.2.0/OpenMPI/3.0.0
  • vérification de la version du compilateur
gfortran --version
...

Compilation :

... ProgPAR_OpenMP&MPI.f90.exe ProgPAR_OpenMP&MPI.f90 

Le fichier binaire (exécutable) ProgPAR_OpenMP&MPI.f90.exe est généré.

Exécution du programme :

Exécution sur le serveur de compilation :

setenv OMP_NUM_THREADS "16" (pour tcsh)
export OMP_NUM_THREADS=16 (pour bash)
./ProgPAR_OpenMP&MPI.f90.exe

Le résultat est affiché a l'écran :

....

Exécution sur le cluster :

On utilise un script de soumission script_OpenMP&MPI.sh (ou script_OpenMP&MPI.csh, 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.

SGE → script_OpenMP&MPI → binaire

qsub script_OpenMP&MPI
Your job 341093 ("ProgrammeOpenMP&MPI") has been submitted

qstat

job-ID  prior   name             user         state submit/start at     queue                           slots ja-task-ID 
-----------------------------------------------------------------------------------------------------------------
 341093 0.00000 ProgrammeOpenMP&MPI 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&MPI ccalugar     r     02/14/2018 14:57:55  E5-2667v2h6deb128@c8220node213     16
  • La sortie de l'écran (sortie standard) est redirigée dans le fichier ProgrammeOpenMP&MPI.o341093
  • La sortie erreur (erreur standard) est redirigée dans le fichier ProgrammeOpenMP&MPI.e341093
cat ProgrammeOpenMP&MPI.o341093
....
documentation/tutorials/build/fortran_parallelehybride.1524576529.txt.gz · Dernière modification : 2020/08/25 15:58 (modification externe)