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
documentation:tutorials:build [2013/02/06 16:33] ltaulelldocumentation: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 
- 
-+ <del>https://www.psmn.ens-lyon.fr/tikiwiki4/tiki-index.php?page=ExFortran90gnu&bl=y</del> 
- 
-+ 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 [[documentation:examples:sommevecvec.f90|SommeVecVec.f90]] effectue la somme des deux vecteurs A et B. Le résultat est mis dans C. 
- 
-====Compilation du programme :==== 
- 
-  * Définition de l'environnement 
-<code> 
-$ source /usr/local/modeles/gnu-4.6.3 
-</code> 
- 
-  * Vérification de la version du compilateur 
-<code> 
-$ gfortran --version 
-GNU Fortran (GCC) 4.6.3 
-</code> 
- 
-  * Compilation 
-<code> 
-$ gfortran -o SommeVecVec.f90.exe SommeVecVec.f90 
-</code> 
- 
-Le fichier binaire (exécutable) ''SommeVecVec.f90.exe'' a été généré. 
- 
-====Exécution sur le serveur de compilation :==== 
- 
-<code> 
-$ ./SommeVecVec.f90.exe 
-</code> 
- 
-Le résultat est affiché a l'écran : 
- 
-<code> 
-Les deux vecteurs : 
- 
-A =            1                                                                                9          10 
- 
-B =            9                                                                                1           0 
- 
-Le vecteur somme : 
- 
-C =           10          10          10          10          10          10          10          10         10          10 
-</code> 
- 
-====Exécution sur les nœuds==== 
- 
-Il y a un script de soumission ([[documentation:examples:scripts#script_de_soumission_tcsh|batch.csh]]) et un script d'exécution ([[documentation:examples:scripts#script_d_execution_tcsh|batchrun.csh]]) (ou [[documentation:examples:scripts#script_de_soumission_bash|batch.sh]] et [[documentation:examples:scripts#script_d_execution_bash|batchrun.sh]], pour le shell bash). 
- 
-C'est le script de soumission qui doit être lancé et c'est lui qui appelle le script d'exécution. 
- 
-''batch.csh -> batchrun.csh -> binaire'' 
- 
-<code> 
-$ ./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 
-</code> 
- 
-  * La sortie de l'écran (sortie standard) est redirigée dans le fichier ''batchrun.csh.o769504'' 
-  * La sortie erreur (erreur standard) est redirigée dans le fichier ''batchrun.csh.e769504'' 
-   
-<code> 
-$ 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 
-</code>  
- 
- 
-===== Exemple de compilation et d'exécution d'un programme écrit en Fortran 90 (parallèle) : ===== 
- 
-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. 
- 
-==== Compilation du programme : ==== 
- 
-  * Définition de l'environnement 
-<code> 
-$ source /usr/local/modeles/openmpi-1.4.5-gnu-4.6.3 
-</code> 
- 
-  * Vérification 
-<code> 
-$ 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 
-</code> 
- 
-  * Compilation 
-<code> 
-$ mpif90 -o SommeVecVec.exe SommeVecVec.f90 
-</code> 
- 
-Le fichier binaire (exécutable) ''SommeVecVec.exe'' est généré. 
- 
-==== Exécution sur le serveur de compilation : ==== 
- 
-<code> 
-$ mpirun -np 2 ./SommeVecVec.exe 
-</code> 
- 
-Le résultat est affiché a l'écran : 
- 
-<code> 
-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 
-</code> 
- 
-==== Exécution sur les nœuds ==== 
- 
-Il y a un script de soumission ([[documentation:examples:scripts#script_de_soumission_tcsh_parallele|batch.csh]]) et un script d'exécution ([[documentation:examples:scripts#script_d_execution_tcsh_parallele|batchrun.csh]]). 
- 
-C'est le script de soumission qui doit être lancé et c'est lui qui appelle le script d'exécution. 
- 
-''batch -> batchrun -> binaire'' 
- 
-<code> 
-$ ./batch 
-Your job 772030 ("batchrun") has been submitted 
-</code> 
- 
-<code> 
-$ 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      
-</code> 
- 
-La sortie de l'écran (sortie standard) est redirigée dans le fichier ''batchrun.o772030'' et la sortie erreur est redirigée dans le fichier ''batchrun.e772030''. 
- 
-<code> 
-$ 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 
-</code> 
  
documentation/tutorials/build.1360168399.txt.gz · Dernière modification : 2020/08/25 15:58 (modification externe)