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 [2014/02/13 15:23] – modification externe 127.0.0.1documentation: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 52: Ligne 60:
 ==== Exécution sur les nœuds ==== ==== Exécution sur les nœuds ====
  
-Il y a un script de soumission ([[documentation:examples:submit_scripts#script_de_soumission_tcsh1|batch.csh]]), et un script d'exécution ([[documentation:examples:submit_scripts#script_d_execution_tcsh1|batchrun.csh]])  
-(ou [[documentation:examples:submit_scripts#script_de_soumission_bash1|batch.sh]] et [[documentation:examples:submit_scripts#script_d_execution_bash1|batchrun.sh]], pour le shell bash). 
  
-C'est le script de soumission qui doit être lance et c'est lui qui appelle le script d'exécution.+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.
  
-''batch.csh -> batchrun.csh -> binaire''+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.sh -> binaire''
  
 <code> <code>
-./batch.csh +qsub batch.sh 
-Your job 769504 ("batchrun.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 batchrun.csh   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 ''batchrun.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 ''batchrun.csh.e769504''.+  * La sortie erreur (erreur standard) est redirigée dans le fichier ''SommeVecVecSEQ.e769504''.
  
 <code> <code>
-cat batchrun.csh.o769504+cat SommeVecVecSEQ.o769504
  
  Les deux vecteurs :  Les deux vecteurs :
Ligne 81: 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 88: 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 139: Ligne 153:
 ==== Exécution sur les nœuds ==== ==== Exécution sur les nœuds ====
  
-Il y a un script de soumission ([[documentation:examples:submit_scripts#script_de_soumission_tcsh_parallele1|batch.csh]]) et un script d'exécution ([[documentation:examples:submit_scripts#script_d_execution_tcsh_parallele1|batchrun.csh]]), pour shell tcsh (ou [[documentation:examples:submit_scripts#script_de_soumission_bash_parallele|batch.sh]] et [[documentation:examples:submit_scripts#script_d_execution_bash_parallele|batchrun.sh]], pour le shell bash).+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 tcshpour soumettre le job sur les clusters de calcul.
  
-C'est le script de soumission qui doit être lance et c'est lui qui appelle le script d'exécution.+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.
  
-''batch -> batchrun -> binaire''+''SGE -> batch.sh -> binaire''
  
 <code> <code>
-./batch.csh+qsub batch.sh
  
-Your job 772030 ("batchrun.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 batchrun.csh   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 batchrun.csh   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 ''batchrun.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 ''batchrun.csh.e772030''.+  * La sortie erreur (erreur standard) est redirigée dans le fichier ''SommeVecVecPAR.e772030''.
  
 <code> <code>
-cat batchrun.csh.o772030+cat SommeVecVecPAR.o772030
  
 /home/cicaluga/Support/FormationPSMN/SommeVecVecPar /home/cicaluga/Support/FormationPSMN/SommeVecVecPar
Ligne 187: Ligne 201:
  C local ( proc            1  )  =           10          10          10          10          10  C local ( proc            1  )  =           10          10          10          10          10
 </code> </code>
-