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:c [2015/02/23 10:35] ltaulelldocumentation:tutorials:build:c [2021/06/04 12:35] cicaluga
Ligne 7: Ligne 7:
 ==== Compilation du programme ==== ==== Compilation du programme ====
  
-  * Définition du l'environnement) :  
  
-<code> +**Définition de l'environnement** : 
-source /usr/local/modeles/gnu-4.6.3 +
-</code>+
  
-  * Vérification de la version du compilateur 
  
-<code> +  * définition de l'environnement **pour bash**  
-gcc --version+<code bash>
  
-gcc (GCC) 4.6.3+module load IntelComp/2017.
 + 
 +ou  
 + 
 +module load intel/2019.5  
 </code> </code>
  
-  * Compilation+  * vérification de la version du compilateur 
 +<code> 
 +icc --version 
 +icc (ICC) 17.0.4 20170411 
 +Copyright (C) 1985-2017 Intel Corporation.  All rights reserved. 
 +</code> 
 + 
 +**Compilation** :
  
 <code> <code>
-gcc -o SommeVecVecSEQ.c.exe SommeVecVecSEQ.c+icc -o SommeVecVecSEQ.exe SommeVecVecSEQ.c (avec intel)
 </code> </code>
  
-Le fichier binaire (exécutable) ''SommeVecVecSEQ.c.exe'' a été généré. 
  
 +
 +Le fichier binaire (exécutable) ''SommeVecVecSEQ.exe'' a été généré.
  
 ==== Exécution sur le serveur de compilation : ==== ==== Exécution sur le serveur de compilation : ====
  
 <code> <code>
-./SommeVecVecSEQ.c.exe+./SommeVecVecSEQ.exe
 </code> </code>
  
Ligne 53: Ligne 61:
  
  
-On utilise un script de soumission [[documentation:tutorials:submit&#job_sequentiel|batch.csh]] (ou [[documentation:tutorials:submit&#job_sequentiel|batch.sh]], pour le shell bash) pour soumettre le job sur les clusters de calcul.+On utilise un script de soumission [[documentation:tutorials:submit:jobsequentielbash|batch.sh]] pour le shell bash (ou [[documentation:tutorials:submit:jobsequentieltcsh|batch.csh]], pour le shell tcsh) 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'environnement puis appelle votre binaire (avec ses options, s'il en a) sur le noeud d'execution.
  
-''SGE -> batch.csh -> binaire''+''SGE -> batch.sh -> binaire''
  
 <code> <code>
-qsub batch.csh+qsub batch.sh
  
-Your job 769504 ("batch.csh") has been submitted+Your job 769504 ("batch.sh") 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 test   cicaluga     qw    06/12/2012 07:21:46+ 769504 0.00000 SommeVecVecSEQ   cicaluga     qw    06/12/2012 07:21:46
 </code> </code>
  
-  * La sortie de l'écran (sortie standard) est redirigée dans le fichier ''batch.csh.o769504'', +  * La sortie de l'écran (sortie standard) est redirigée dans le fichier ''SommeVecVecSEQ.o769504'', 
-  * La sortie erreur (erreur standard) est redirigée dans le fichier ''batch.csh.e769504''.+  * La sortie erreur (erreur standard) est redirigée dans le fichier ''SommeVecVecSEQ.e769504''.
  
 <code> <code>
-cat batch.csh.o769504+cat SommeVecVecSEQ.o769504
  
  Les deux vecteurs :  Les deux vecteurs :
Ligne 82: Ligne 90:
  C =           10          10          10          10          10          10          10          10          10          10  C =           10          10          10          10          10          10          10          10          10          10
 </code> </code>
- 
  
  
Ligne 89: Ligne 96:
 Le programme [[documentation:examples:sommevecvecpar.c|SommeVecVecPAR.c]] 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 sont effectivement utilises. Le programme [[documentation:examples:sommevecvecpar.c|SommeVecVecPAR.c]] 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 sont effectivement utilises.
  
-====Compilation du programme====+==== Compilation du programme ====
  
-  * Définition du l'environnement+=== Définition de l'environnement : === 
 + 
  
-<code> +  * définition de l'environnement   
-source /usr/local/modeles/openmpi-1.4.5-gnu-4.6.3+<code bash
 +module load IntelComp/2017.4 (ou module load intel/2019.5 )    
 +module load IntelComp/2017.4/OpenMPI/3.0.0 (ou intel/2019.5/impi/2019.5.281)
 </code> </code>
 +
  
   * Vérification   * Vérification
 <code> <code>
 mpicc -showme mpicc -showme
-gcc -I/softs/openmpi-1.4.5-gcc-4.6.3/include -pthread -L/softs/openmpi-1.4.5-gcc-4.6.3/lib -lmpi -lopen-rte -lopen-pal -lrdmacm -libverbs -ldl -lnsl -lutil -lm+ 
 +icc -I/applis/PSMN/debian9/software/Compiler/IntelComp/2017.4/Core/OpenMPI/3.0.0/include -pthread -Wl,-rpath -Wl,/applis/PSMN/debian9/software/Compiler/IntelComp/2017.4/Core/OpenMPI/3.0.0/lib -Wl,--enable-new-dtags -L/applis/PSMN/debian9/software/Compiler/IntelComp/2017.4/Core/OpenMPI/3.0.0/lib -lmpi
 </code> </code>
  
-  * Compilation+=== Compilation : === 
  
 <code> <code>
-mpicc -o SommeVecVecPAR.c.exe SommeVecVecPAR.c+mpicc -o SommeVecVecPAR.exe SommeVecVecPAR.c
 </code> </code>
  
-Le fichier binaire (exécutable) ''SommeVecVecPAR.c.exe'' a été généré. 
  
 +Le fichier binaire (exécutable) ''SommeVecVecPAR.exe'' a été généré.
  
 ==== Exécution sur le serveur de compilation ==== ==== Exécution sur le serveur de compilation ====
  
 <code> <code>
-mpirun -np 2 ./SommeVecVecPAR.c.exe+mpirun -np 2 ./SommeVecVecPAR.exe
 </code> </code>
  
Ligne 140: Ligne 153:
 ==== Exécution sur les nœuds ==== ==== Exécution sur les nœuds ====
  
-On utilise un script de soumission [[documentation:tutorials:submit&#job_parallele|batch.csh]] (ou [[documentation:tutorials:submit&#job_parallele|batch.sh]] pour le shell bash) pour soumettre le job sur les clusters de calcul.+On utilise un script de soumission [[documentation:tutorials:submit:accueil&#job_parallele|batch.sh]] pour le shell bash (ou [[documentation:tutorials:submit:jobparalleleshellcsh|batch.csh]] pour le shell tcsh) 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 ("batch.csh") has been submitted+Your job 772030 ("batch.sh") 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  
------------------------------------------------------------------------------------------------------------------ +---------------------------------------------------------------------------------------------------------------- 
- 772030 0.00000      test_par         cicaluga     qw    06/18/2012 07:41:51                                    2 + 772030 0.00000      SommeVecVecPAR    cicaluga     qw    06/18/2012 07:41:51                                    2 
  
 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 
 ----------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------
- 772030 0.05000 test_par       cicaluga         06/18/2012 07:42:16 r410B_ib_test@r410lin57.ens-ly     + 772030 0.05000 SommeVecVecPAR   cicaluga         06/18/2012 07:42:16 r410B_ib_test@r410lin57.ens-ly     
  
 </code> </code>
  
-  * La sortie de l'écran (sortie standard) est redirigée dans le fichier ''batch.csh.o772030'', +  * La sortie de l'écran (sortie standard) est redirigée dans le fichier ''SommeVecVecPAR.o772030'', 
-  * La sortie erreur (erreur standard) est redirigée dans le fichier ''batch.csh.e772030''.+  * La sortie erreur (erreur standard) est redirigée dans le fichier ''SommeVecVecPAR.e772030''.
  
 <code> <code>
-cat batch.csh.o772030+cat SommeVecVecPAR.o772030
  
 /home/cicaluga/Support/FormationPSMN/SommeVecVecPar /home/cicaluga/Support/FormationPSMN/SommeVecVecPar
Ligne 188: Ligne 201:
  C local ( proc            1  )  =           10          10          10          10          10  C local ( proc            1  )  =           10          10          10          10          10
 </code> </code>
-