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
documentation:tutorials:build [2013/02/06 13:52] gilquindocumentation:tutorials:build [2013/02/06 17:21] (Version actuelle) – effacée ltaulell
Ligne 1: Ligne 1:
  
-FIXME déplacer dans **tutoriels** 
- 
-https://www.psmn.ens-lyon.fr/tikiwiki4/tiki-index.php?page=Pour%20compiler&bl=y 
- 
-+ https://www.psmn.ens-lyon.fr/tikiwiki4/tiki-index.php?page=ExFortran90gnu&bl=y 
- 
-+ https://www.psmn.ens-lyon.fr/tikiwiki4/tiki-index.php?page=ExCgnu&bl=y 
- 
----- 
- 
-Exemple de compilation et d'exécution d'un programme écrit en Fortran 90 (séquentiel) 
- 
-Le programme ((SommeVecVecSEQf90|SommeVecVec.f90)) effectue la somme des deux vecteurs A et B. Le résultat est mis dans C.  
-  
- 
-__Compilation du programme (après définition du l'environnement) :__ 
- 
- 
-$ source /usr/local/modeles/gnu-4.6.3 
-$ gfortran --version 
-GNU Fortran (GCC) 4.6.3 
-$ gfortran -o SommeVecVec.f90.exe SommeVecVec.f90 
- 
-=> Le fichier __binaire (exécutable)__ __''SommeVecVec.f90.exe''__ a été généré. 
- 
-* __Exécution sur le serveur de compilation :__ 
- 
-$ ./SommeVecVec.f90.exe 
- 
-=> Le résultat est affiche a l'écran : 
- 
- Les deux vecteurs : 
- 
-A =            1                                                                                          10 
-  
-B =            9                                                                                           0 
-  
-Le vecteur somme : 
-  
-C =           10          10          10          10          10          10          10          10          10          10 
- 
- 
-* __Exécution sur les nœuds__ 
- 
-Il faut savoir qu'on a un script de soumission (((batchSommeVecVecf90csh|batch.csh)) , pour SHELL tcsh) et un script d'exécution (((batchrunSommeVecVecf90csh|batchrun.csh)), pour SHELL tcsh)  (ou ((batchSommeVecVecf90sh|batch.sh)) et ((batchrunSommeVecVecf90sh|batchrun.sh)), pour SHELL : bash). 
- 
-C'est le script de soumission qui doit être lance et c'est lui qui appelle le script d'exécution. 
- 
-__::batch.csh -> batchrun.csh -> binaire::__ 
- 
-$ ./batch.csh 
-Your job 769504 ("batchrun.csh") has been submitted 
-$ qstat 
-job-ID  prior   name       user         state submit/start at     queue                          slots ja-task-ID  
------------------------------------------------------------------------------------------------------------------ 
- 769504 0.00000 batchrun.csh   cicaluga     qw    06/12/2012 07:21:46 
-  
-=> - La sortie de l'écran (sortie standard) est redirectionee dans le fichier "batchrun.csh.o769504" 
- 
-et   - La sortie erreurs  est redirigéee dans le fichier  "batchrun.csh.e769504" 
- 
- 
-~pp~ 
-$ cat batchrun.csh.o769504 
- 
- Les deux vecteurs : 
- A =            1                                                                                          10 
- B =            9                                                                                           0 
- Le vecteur somme : 
- C =           10          10          10          10          10          10          10          10          10          10 
- 
-~/pp~ 
-  
- 
- 
-!!!!::~~#00c:2. Exemple de compilation et d'exécution d'un programme écrit en Fortran 90 (parallèle)~~    :: 
- 
-Le programme ((SommeVecVecPARf90|SommeVecVec.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 les deux cœurs seront effectivement utilises.  
-  
- 
-__Compilation du programme (après définition du l'environnement) :__ 
-~pp~ 
-$ source /usr/local/modeles/openmpi-1.4.5-gnu-4.6.3 
-$ mpif90 -showme 
-gfortran -I/softs/openmpi-1.4.5-gcc-4.6.3/include -pthread -I/softs/openmpi-1.4.5-gcc-4.6.3/lib -L/softs/openmpi-1.4.5-gcc-4.6.3/lib -lmpi_f90 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -lrdmacm -libverbs -ldl -lnsl -lutil -lm 
- 
-$ mpif90 -o SommeVecVec.exe SommeVecVec.f90 
-~/pp~ 
- 
-=> Le fichier __binaire (exécutable)__ __''SommeVecVec.exe''__ a été généré. 
- 
- 
-* __Exécution sur le serveur de compilation :__ 
- 
-~pp~ 
-$ mpirun -np 2 ./SommeVecVec.exe 
-~/pp~ 
- 
-=> Le résultat est affiche a l'écran : 
- 
-~pp~ 
- LES DEUX VECTEURS : 
- A =            1                                                                                          10 
- B =            9                                                                                           0 
- LES DEUX VECTEURS LOCAUX : 
- Je suis le proc            0 parmi            2  processus 
- A local ( proc            0  )  =            1                                         5 
- B local ( proc            0  )  =            9                                         5 
- Je suis le proc            1 parmi            2  processus 
- A local ( proc            1  )  =            6                                        10 
- B local ( proc            1  )  =            4                                         0 
- LE VECTEUR SOMME LOCAL :  
- C local ( proc            1  )  =           10          10          10          10          10 
- C local ( proc            0  )  =           10          10          10          10          10 
- LE VECTEUR SOMME : 
- C =           10          10          10          10          10          10          10          10          10          10 
-~/pp~ 
- 
-* __Exécution sur les nœuds__ 
- 
-Il faut savoir qu'on a un script de soumission (((batchSommeVecVecPARf90|batch))) et un script d'exécution (((batchrunSommeVecVecPARf90|batchrun))). 
- 
-C'est le script de soumission qui doit être lance et c'est lui qui appelle le script d'exécution. 
- 
-__::batch -> batchrun -> binaire::__ 
- 
-~pp~ 
-$ ./batch 
-Your job 772030 ("batchrun") has been submitted 
- 
-$ qstat 
-job-ID  prior   name       user         state submit/start at     queue                          slots ja-task-ID  
------------------------------------------------------------------------------------------------------------------ 
- 772030 0.00000 batchrun   cicaluga     qw    06/18/2012 07:41:51                                    2         
-$ qstat 
-job-ID  prior   name       user         state submit/start at     queue                          slots ja-task-ID  
------------------------------------------------------------------------------------------------------------------ 
- 772030 0.05000 batchrun   cicaluga         06/18/2012 07:42:16 r410B_ib_test@r410lin57.ens-ly      
- 
-~/pp~ 
- 
-=> La sortie de l'écran (sortie standard) est redirectionee dans le fichier ~pp~"batchrun.o772030" ~/pp~ 
- 
-et   La sortie erreurs                              est redirectionee dans le fichier ~pp~"batchrun.e772030" ~/pp~ 
- 
- 
-~pp~ 
-$ cat batchrun.o772030 
-/home/cicaluga/Support/FormationPSMN/SommeVecVecPar 
- LES DEUX VECTEURS : 
- A =            1                                                                                          10 
- B =            9                                                                                           0 
- LES DEUX VECTEURS LOCAUX : 
- Je suis le proc            0 parmi            2  processus 
- A local ( proc            0  )  =            1                                         5 
- B local ( proc            0  )  =            9                                         5 
- LE VECTEUR SOMME LOCAL :  
- C local ( proc            0  )  =           10          10          10          10          10 
-LE VECTEUR SOMME : 
- C =           10          10          10          10          10          10          10          10          10          10 
- Je suis le proc            1 parmi            2  processus 
- A local ( proc            1  )  =            6                                        10 
- B local ( proc            1  )  =            4                                         0 
- C local ( proc            1  )  =           10          10          10          10          10 
- 
-~/pp~ 
-{HTML()} 
-<p></p> 
-<hr /> 
-<center> 
-<h5>Pôle Scientifique de Modélisation Numérique</h5> 
-</center> <hr /> 
-{HTML} 
documentation/tutorials/build.1360158760.txt.gz · Dernière modification : 2020/08/25 15:58 (modification externe)