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 [2017/01/24 08:34] – [Compilation du programme] cicalugadocumentation:tutorials:build:c [2021/06/04 12:35] cicaluga
Ligne 9: Ligne 9:
  
 **Définition de l'environnement** :  **Définition de l'environnement** : 
- 
-  * définition de l'environnement **pour tcsh** 
-<code bash> 
-source /usr/share/modules/init/csh 
-module use /applis/PSMN/Modules 
-module load Base/psmn 
-module load intel/14.0.1  
-</code> 
  
  
   * définition de l'environnement **pour bash**    * définition de l'environnement **pour bash** 
 <code bash> <code bash>
-source /usr/share/modules/init/sh + 
-module use /applis/PSMN/Modules +module load IntelComp/2017.4 
-module load Base/psmn + 
-module load intel/14.0.+ou  
 + 
 +module load intel/2019.5  
 </code> </code>
  
Ligne 30: Ligne 24:
 <code> <code>
 icc --version icc --version
-icc (ICC) 14.0.1 20131008+icc (ICC) 17.0.4 20170411 
 +Copyright (C) 1985-2017 Intel Corporation.  All rights reserved.
 </code> </code>
  
Ligne 36: Ligne 31:
  
 <code> <code>
-icc -o SommeVecVecSEQ.c.exe SommeVecVecSEQ.c (avec intel)+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 66: 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
Ligne 95: 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 102: 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 153: 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
Ligne 201: Ligne 201:
  C local ( proc            1  )  =           10          10          10          10          10  C local ( proc            1  )  =           10          10          10          10          10
 </code> </code>
-