[PDF] Travaux pratiques MPI Architectures parallèles M. Eleuldj





Previous PDF Next PDF



& Travaux Pratiques et Examens Sous EXCEL Avec solutions

Travaux Pratiques sur Excel - Atelier n°1. Calcul avec des formules simples Tableau récapitulatif de ventes de Matériels Informatiques de l'année 2010.



Travaux pratiques MPI

Architectures parallèles M. Eleuldj



LES RESEAUX DE NEURONES ARTIFICIELS INTRODUCTION AU

27 jui. 2016 IONNISME: COURS EXERCICES ET TRAVAUX PRATIQUES. EC2



livre-algorithmes EXo7.pdf

Travaux pratiques 2. 1. Pour un entier n fixé programmer le calcul de la somme Sn = 13 + 23 + 33 + ··· + n3.



Travaux Pratiques dInitiation à lInformatique [TP N°1 : Commandes

Travaux Pratiques d'Initiation à l'Informatique. [TP N°1 : Commandes DOS]. Objectifs : Initier à l'utilisation d'un ordinateur. Manipuler les commandes de 



Recueil dexercices corrigés en INFORMATIQUE I

proposés durant les travaux pratiques et examens antérieurs pour permettre à l'étudiant 1 - Il est possible de démarrer un ordinateur sans carte mère.



Travaux pratiques informatique Module Système dexploitation

TP N°2 : Scripts avancés & Processus & Signaux. Mathieu.Barcikowski@univ-savoie.fr. Pierre.Hyvernat@univ-savoie.fr. Cyril.Vachet@etu.univ-savoie.fr. 1.



Algorithmique & programmation en langage C - vol.2 - Archive

14 juil. 2015 UTILISATION EN TP. 3.1. RÈGLES CONCERNANT LES TP. 3.1.1. Nommage ... de passer à l'étape suivante tant que l'étape courante n'est pas ...



Travaux Pratiques et Dirigés de Bases de Données n? 5

Département INFORMATIQUE. DUT année spéciale. Page 1. Bases de données – TD 5. Travaux Pratiques et Dirigés de Bases de Données n? 5. ACCESS et ODBC.



TRAVAUX PRATIQUES DELECTRICITE ET DELECTRONIQUE

TP n°1 : Circuit RC : Fonctionnement en Filtres. 14. TP n°2 : Circuit RLC série. 30. TP n°3 : Application du théorème de Thévenin. 41. TP n°4 : La diode et 



Sujets de Travaux Dirigés et de Travaux Pratiques

Introduction à l’Informatique Sujets de Travaux Dirigés et de Travaux Pratiques Pascal Ballet Sophie Gire Philippe Le Parc Rappel de la syntaxe : algorithmique et langage Visual Basic page 2 TD 1 et 2 – Variables séquences et conditionnelles simples page 3 TD 3 et 4 – Itérations (boucle Pour) et tableaux page 6



Travaux Pratiques d’Initiation à l’Informatique [TP N°1

Travaux Pratiques d’Initiation à l’Informatique [TP N°1 : Commandes DOS] Université Mohammed V-Agdal Faculté des Sciences de Rabat Département de Mathématiques Année Universitaire 007/2008 2 Info1-Info2 (SMI & SM) & d'Informatique

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014

Travaux pratiques

MPI •Présentation de MPI •Schéma général d'un programme MPI •Exécution d'un programme C quelques commandes Unix •Quelques fonctions MPI •Exemples de programmes •Communication •Calcul de •Gestion des groupes •Gestion des communicateurs •Projets de TP 1 Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014 Présentation de MPI (Message Passing Interface) •Bibliothèque standard à inclure dans un programme C (#include "mpi.h") ou

Fortran (INCLUDE 'mpif.h')

•Ancêtre : PVM (Parallel Virtual Machine) en 1991 •Plusieurs implantations : MPI-1(1994), MPICH2(2000) et OpenMPI(2009) •Autres bibliothèques : OpenMP(2010),... •Souvent utilisée dans des architectures à mémoire distribuée •Modèle SPMD (Single Programme Multiple Data) •Le même programme est installé dans chaque processeur (ou machine) •Des instances multiples du programme traitent partiellement ou totalement les données •Chaque instance a un identificateur unique par rapport à un communicateur •L'instance exécute la partie du programme selon son identificateur •Référence : http://www.open-mpi.org,... 2 Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014

Schéma général d'un programme MPI

rang identificateur du processus en cours par rapport à un communicateur si(rang = identificateur_spécifique) alors faire un traitement sinon faire un autre traitement 3 p0 p1 p2 p3 p4 p5 p6

Communicateur ACommunicateur B

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014

Exécution d'un programme C

/* fichier hello.c*/ #include intmain() { printf("Hello World!"); return 0;

Compilation:

$gcchello.c(ougcc-o hello.exe hello.c)

Exécution:

$./a (ou/home/......./a.exe ou./hello)

Résultat:

$Hello World! 4 Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014

Quelques commandes Unix

$pwd $ls -l $hostname $mpirun -n 1 hostname(ou mpiexec -np 1 hostname) $mpirun -n 7 hostname $mpirun hostname $mpirun -n 5 hello $mpirun -n 12 hello $mpirun -machinefile machine.txt -n 4 hostname 5 Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014

Quelques fonctions MPI (1/2)

6 int MPI_Init(int *argc, char ***argv) intMPI_Finalize() intMPI_Comm_rank(MPI_Commcomm, int*rank) intMPI_Comm_size(MPI_Commcomm, int*size) intMPI_Send(constvoid*buf, intcount, MPI_Datatypedatatype, intdest, inttag, MPI_Commcomm) intMPI_Recv(void*buf, intcount, MPI_Datatypedatatype, intsource, inttag,

MPI_Commcomm, MPI_Status*status)

intMPI_Bcast(void*buffer, intcount, MPI_Datatypedatatype, introot,

MPI_Commcomm)

intMPI_Comm_group(MPI_Commcomm, MPI_Group*group) intMPI_Group_incl(MPI_Groupgroup, intn, const intranks[],

MPI_Group*newgroup)

intMPI_Comm_create(MPI_Commcomm, MPI_Groupgroup,

MPI_Comm*newcomm)

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014

Quelques fonctions MPI (2/2)

7 intMPI_Reduce(void *sendbuf, void *recvbuf, intcount, MPI_Datatypedatatype, MPI_Opop, introot,MPI_Commcomm) IntMPI_Allreduce( void *sendbuf, void *recvbuf, intcount,

MPI_Datatypedatatype, MPI_Opop, MPI_Commcomm)

Opérations :

MPI_MAX : maximumMPI_MIN : minimum

MPI_SUM : sumMPI_PROD : product

MPI_LAND : logicaland MPI_BAND : bit-wiseand

MPI_LOR : logicalor MPI_BOR : bit-wiseor

MPI_LXOR: logicalxorMPI_BXOR : bit-wisexor

MPI_MAXLOC : max value + locationMPI_MINLOC : min value + location -mpi.org/doc/v1.8 Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014

Exemples de programmes

•Exemple 1 : Communication entre processus •Exemple 2 : Calcul de •Exemple 3 : Gestion des groupes •Exemple 4 : Gestion des communicateurs •Exercices 8 Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014

Algorithme de communication

p nombre total des processus rang identificateur du processus sialors envoyer(message,0) sinon poursource=1 à(p-1) faire recevoir(message,source)

écrire(message)

9 p0 p2p3p1 Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014

Programme de communication (1/3)

/* programme helloMPI.c*/ #include #include #include"mpi.h" intmain(intargc, char* argv[]){ intmy_rank; /* rank of process */ intp; /* number of processes */ intsource; /* rank of sender */ intdest; /* rank of receiver */ inttag=0; /* tag for messages */ char message[100]; /* storage for message */ MPI_Statusstatus ; /* return status for receive */ 10 Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014

Programme de communication (2/3)

/* startup MPI */

MPI_Init(&argc, &argv);

/* findout processrank*/

MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);

/* find out number of processes */

MPI_Comm_size(MPI_COMM_WORLD, &p);

if (my_rank!=0){ /* createmessage */ sprintf(message, "Hello MPI World from process %d!", my_rank); dest= 0;/* use strlen+1 so that '\0' get transmitted */ MPI_Send(message, strlen(message)+1, MPI_CHAR,dest, tag,MPI_COMM_WORLD); 11 Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014

Programme de communication (3/3)

else{ printf("Hello MPI World Fromprocess0: Numprocesses: %d\n",p); for (source = 1; source < p; source++) {

MPI_Recv(message, 100, MPI_CHAR, source, tag,

MPI_COMM_WORLD, &status);

printf("%s\n",message); /* shutdown MPI */

MPI_Finalize();

return 0; 12 Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014

Exercice 1

a) Compilation $mpicc -o helloMPI.exe helloMPI.c -lm b) Exécution $mpirun -n 5 helloMPI.exe c) Création de helloMPIMod.c supprimer l'appel MPI_Send exécuter le programme

Que se passe-t-il ?

d) Création de course.c supprimer les appels MPI_Send supprimer la boucle lorsque my-rank=0 (processus p0) remplacer sprintf par printf (un affichage par processus) exécuter le programme à 2 reprises

Que se passe-t-il ?

13quotesdbs_dbs4.pdfusesText_8
[PDF] SOLHIMAL Aide au Tibet et aux Peuples de l'himalaya

[PDF] LIVRE BLANC 9 SEMAINES POUR PREPARER UN PROJET DE CRECHE EN FRANCHISE AVEC LA PART DE REVE

[PDF] Modernisation de la santé au travail

[PDF] Enquête Attributions 2011. Notice technique relative au fichier de saisie (Format Calc OpenOffice.org)

[PDF] L ADHERENT(E) / L ASSURE(E)

[PDF] PRESENTATION DU PORTEUR DE PROJET ET DE SES ASSOCIES

[PDF] Dotez-vous des moyens de communication d une grande entreprise au prix d une petite entreprise. Avaya vous aide à atteindre vos objectifs.

[PDF] Les grands principes du statut du fermage (bail rural)

[PDF] Ministère de la santé et des solidarités

[PDF] 8.6 TABLEAUX ANNEXES / ÉTATS FINANCIERS

[PDF] café, restaurant

[PDF] Organiser l intermodalité autour des gares : l exemple de la politique d aménagement des gares de la Région Alsace

[PDF] Date de convocation : 04 février 2015 Date d affichage : 04 février 2015 Ouverture de la séance : 20h05

[PDF] C EST CLAIR, C EST NET-ENTREPRISES.FR DÉCOUVREZ LE SITE QUI VOUS SIMPLIFIE LES DÉCLARATIONS SOCIALES

[PDF] EPREUVE E 9 : TECHNOLOGIES (coefficient 8) 0h 30 5 Orale sur dossier