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
Prochaine révisionLes deux révisions suivantes
documentation:tutorials:build:fortran_parallele [2016/09/29 10:39] cicalugadocumentation:tutorials:build:fortran_parallele [2018/06/14 12:29] cicaluga
Ligne 1: Ligne 1:
-====== Compilation et d'exécution d'un programme (Fortran) ======+====== Compilation et exécution d'un programme (Fortran 90) ======
  
-{{INLINETOC}} + 
-===== Langage Fortran 90, code parallèle =====+===== Langage Fortran 90, code parallèle (MPI) =====
  
 Le programme [[documentation:examples:sommevecvecpar.f90|SommeVecVecPAR.f90]] effectue la somme des deux vecteurs A et B. Le résultat est mis dans C. Chaque étape est effectuée sur 2 processus. Si le programme est exécuté sur plusieurs cœurs, seuls deux cœurs seront réellement utilisés. Le programme [[documentation:examples:sommevecvecpar.f90|SommeVecVecPAR.f90]] effectue la somme des deux vecteurs A et B. Le résultat est mis dans C. Chaque étape est effectuée sur 2 processus. Si le programme est exécuté sur plusieurs cœurs, seuls deux cœurs seront réellement utilisés.
Ligne 10: Ligne 10:
 === Définition de l'environnement : === === Définition de l'environnement : ===
    
- +  * définition de l'environnement 
-  * définition de l'environnement **pour tcsh** +
 <code bash> <code bash>
-source /usr/share/modules/init/csh +module avail 
-module use /applis/PSMN/Modules +module load GCC/7.2.0/OpenMPI/3.0.0 
-module load Base/psmn +
- +
-module load openmpi/1.6.4-intel-14.0.1 +
-</code> +
- +
-  * définition de l'environnement **pour bash**  +
-<code bash> +
-source /usr/share/modules/init/sh +
-module use /applis/PSMN/Modules +
-module load Base/psmn +
- +
-module load openmpi/1.6.4-intel-14.0.1+
 </code> </code>
  
Ligne 32: Ligne 19:
   * Vérification   * Vérification
 <code> <code>
-mpif90 -showme+mpifort -showme
  
-ifort -I/softs/openmpi-1.6.4-intel-14.0.1-debian7/include -I/softs/openmpi-1.6.4-intel-14.0.1-debian7/lib -L/softs/openmpi-1.6.4-intel-14.0.1-debian7/lib -lmpi_f90 -lmpi_f77 -lmpi -lrdmacm -libverbs -lrt -lnsl -lutil -ldl -lm -lnuma -lrt -lnsl -lutil+gfortran .....
 </code> </code>
  
Ligne 41: Ligne 28:
  
 <code> <code>
-mpif90 -o SommeVecVecPAR.f90.exe SommeVecVecPAR.f90 (avec intel) +mpifort -o SommeVecVecPAR.exe SommeVecVecPAR.f90 
-</code> +
- +
-<code> +
-mpif90 -o SommeVecVecPAR.f90.exe SommeVecVecPAR.f90 (avec gnu)+
 </code> </code>
  
  
-Le fichier binaire (exécutable) ''SommeVecVecPAR.f90.exe'' est généré.+Le fichier binaire (exécutable) ''SommeVecVecPAR.exe'' est généré.
  
 ====Exécution du programme :==== ====Exécution du programme :====
Ligne 56: Ligne 39:
  
 <code> <code>
-mpirun -np 2 ./SommeVecVecPAR.f90.exe+mpirun -np 2 ./SommeVecVecPAR.exe
 </code> </code>
  
Ligne 83: Ligne 66:
  
  
-On utilise un script de soumission [[documentation:tutorials:submit:jobparalleleshellcsh|batch.csh]] (ou [[documentation:tutorials:submit&#job_parallele_shell_bash)|batch.sh]] pour le shell bash) pour soumettre le job sur les clusters de calcul.+On utilise un script de soumission [[documentation:tutorials:submit&#job_parallele_shell_bash)|batch.sh]] pour le shell bash (ou [[documentation:tutorials:submit:jobparalleleshellcsh|batch.csh]] ) 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 les noeuds d'execution. C'est le script de soumission qui configure l'environnement puis appelle votre binaire (avec ses options, s'il en a) sur les noeuds d'execution.
  
-''SGE -> batch.csh -> binaire''+''SGE -> batch.sh -> binaire''
  
 <code> <code>
-qsub batch.csh +qsub batch.sh 
-Your job 772030 ("SommeVecVecPAR") has been submitted+Your job 336000 ("SommeVecVecPAR") has been submitted
 </code> </code>
  
Ligne 100: Ligne 83:
 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 
 ----------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------
- 772030 0.00000 SommeVecVecPAR   Login     qw    06/18/2012 07:41:51                                    2        +336000 0.00000 SommeVecVecPAR   Login     qw    02/14/2018 10:53:51                                    2        
  
 qstat qstat
Ligne 106: Ligne 89:
 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 
 ----------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------
- 772030 0.05000 SommeVecVecPAR   Login         06/18/2012 07:42:16 r410B_ib_test@r410lin57.ens-ly     +336000 0.05000 SommeVecVecPAR   Login         02/14/2018 10:54:16 r410B_ib_test@r410lin57.ens-ly     
 </code> </code>
  
-La sortie de l'écran (sortie standard) est redirigée dans le fichier ''SommeVecVecPAR.o772030'' et la sortie erreur est redirigée dans le fichier ''SommeVecVecPAR.e772030''.+La sortie de l'écran (sortie standard) est redirigée dans le fichier ''SommeVecVecPAR.o336000'' et la sortie erreur est redirigée dans le fichier ''SommeVecVecPAR.e336000''.
  
 <code> <code>
-cat SommeVecVecPAR.o772030+cat SommeVecVecPAR.o336000
  
-/home/cicaluga/Support/FormationPSMN/SommeVecVecPar+/home/ccalugar/Support/FormationPSMN/SommeVecVecPar
  LES DEUX VECTEURS :  LES DEUX VECTEURS :
  A =            1                                                                                          10  A =            1                                                                                          10