Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| documentation:tutorials:build:c [2018/01/17 13:11] – cicaluga | documentation:tutorials:build:c [2023/01/13 09:36] (Version actuelle) – supprimée ccalugar | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Compilation et d' | ||
| - | ===== Langage C, code séquentiel ===== | ||
| - | |||
| - | Le programme [[documentation: | ||
| - | |||
| - | ==== Compilation du programme ==== | ||
| - | |||
| - | |||
| - | **Définition de l' | ||
| - | |||
| - | |||
| - | * définition de l' | ||
| - | <code bash> | ||
| - | |||
| - | module load iccifort/ | ||
| - | </ | ||
| - | |||
| - | * vérification de la version du compilateur | ||
| - | < | ||
| - | icc --version | ||
| - | Intel(R) C Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 17.0.4.196 Build 20170411 | ||
| - | Copyright (C) 1985-2017 Intel Corporation. | ||
| - | </ | ||
| - | |||
| - | **Compilation** : | ||
| - | |||
| - | < | ||
| - | icc -o SommeVecVecSEQ.exe SommeVecVecSEQ.c (avec intel) | ||
| - | </ | ||
| - | |||
| - | |||
| - | |||
| - | Le fichier binaire (exécutable) '' | ||
| - | |||
| - | ==== Exécution sur le serveur de compilation : ==== | ||
| - | |||
| - | < | ||
| - | ./ | ||
| - | </ | ||
| - | |||
| - | => Le résultat s' | ||
| - | |||
| - | < | ||
| - | Les deux vecteurs : | ||
| - | |||
| - | A = 1 | ||
| - | |||
| - | B = 9 | ||
| - | |||
| - | Le vecteur somme : | ||
| - | |||
| - | C = | ||
| - | </ | ||
| - | |||
| - | ==== Exécution sur les nœuds ==== | ||
| - | |||
| - | |||
| - | On utilise un script de soumission [[documentation: | ||
| - | |||
| - | C'est le script de soumission qui configure l' | ||
| - | |||
| - | '' | ||
| - | |||
| - | < | ||
| - | qsub batch.sh | ||
| - | |||
| - | Your job 769504 (" | ||
| - | |||
| - | qstat | ||
| - | job-ID | ||
| - | ----------------------------------------------------------------------------------------------------------------- | ||
| - | | ||
| - | </ | ||
| - | |||
| - | * La sortie de l' | ||
| - | * La sortie erreur (erreur standard) est redirigée dans le fichier '' | ||
| - | |||
| - | < | ||
| - | cat SommeVecVecSEQ.o769504 | ||
| - | |||
| - | Les deux vecteurs : | ||
| - | A = 1 | ||
| - | B = 9 | ||
| - | Le vecteur somme : | ||
| - | C = | ||
| - | </ | ||
| - | |||
| - | |||
| - | ===== Langage C, code parallèle ===== | ||
| - | |||
| - | Le programme [[documentation: | ||
| - | |||
| - | ==== Compilation du programme : ==== | ||
| - | |||
| - | === Définition de l' | ||
| - | |||
| - | |||
| - | * définition de l' | ||
| - | <code bash> | ||
| - | module load iccifort/ | ||
| - | module load intel/ | ||
| - | </ | ||
| - | |||
| - | |||
| - | * Vérification | ||
| - | < | ||
| - | mpicc -showme | ||
| - | |||
| - | icc -I/ | ||
| - | </ | ||
| - | |||
| - | === Compilation : === | ||
| - | |||
| - | |||
| - | < | ||
| - | mpicc -o SommeVecVecPAR.exe SommeVecVecPAR.c | ||
| - | </ | ||
| - | |||
| - | |||
| - | Le fichier binaire (exécutable) '' | ||
| - | |||
| - | ==== Exécution sur le serveur de compilation ==== | ||
| - | |||
| - | < | ||
| - | mpirun -np 2 ./ | ||
| - | </ | ||
| - | |||
| - | Le résultat s' | ||
| - | |||
| - | < | ||
| - | LES DEUX VECTEURS : | ||
| - | A = 1 | ||
| - | B = 9 | ||
| - | LES DEUX VECTEURS LOCAUX : | ||
| - | Je suis le proc 0 parmi 2 processus | ||
| - | A local ( proc 0 ) = 1 | ||
| - | B local ( proc 0 ) = 9 | ||
| - | Je suis le proc 1 parmi 2 processus | ||
| - | A local ( proc 1 ) = 6 | ||
| - | B local ( proc 1 ) = 4 | ||
| - | LE VECTEUR SOMME LOCAL : | ||
| - | C local ( proc 1 ) = | ||
| - | C local ( proc 0 ) = | ||
| - | LE VECTEUR SOMME : | ||
| - | C = | ||
| - | </ | ||
| - | |||
| - | ==== Exécution sur les nœuds ==== | ||
| - | |||
| - | On utilise un script de soumission [[documentation: | ||
| - | |||
| - | C'est le script de soumission qui configure l' | ||
| - | |||
| - | '' | ||
| - | |||
| - | < | ||
| - | qsub batch.sh | ||
| - | |||
| - | Your job 772030 (" | ||
| - | |||
| - | qstat | ||
| - | |||
| - | job-ID | ||
| - | ---------------------------------------------------------------------------------------------------------------- | ||
| - | | ||
| - | |||
| - | qstat | ||
| - | |||
| - | job-ID | ||
| - | ----------------------------------------------------------------------------------------------------------------- | ||
| - | | ||
| - | |||
| - | </ | ||
| - | |||
| - | * La sortie de l' | ||
| - | * La sortie erreur (erreur standard) est redirigée dans le fichier '' | ||
| - | |||
| - | < | ||
| - | cat SommeVecVecPAR.o772030 | ||
| - | |||
| - | / | ||
| - | LES DEUX VECTEURS : | ||
| - | A = 1 | ||
| - | B = 9 | ||
| - | LES DEUX VECTEURS LOCAUX : | ||
| - | Je suis le proc 0 parmi 2 processus | ||
| - | A local ( proc 0 ) = 1 | ||
| - | B local ( proc 0 ) = 9 | ||
| - | LE VECTEUR SOMME LOCAL : | ||
| - | C local ( proc 0 ) = | ||
| - | LE VECTEUR SOMME : | ||
| - | C = | ||
| - | Je suis le proc 1 parmi 2 processus | ||
| - | A local ( proc 1 ) = 6 | ||
| - | B local ( proc 1 ) = 4 | ||
| - | C local ( proc 1 ) = | ||
| - | </ | ||