Les communications collectives. Caractéristiques. Communications dans un groupe de processus. Dans un communicateur donné.

Dimension: px
Commencer à balayer dès la page:

Download "Les communications collectives. Caractéristiques. Communications dans un groupe de processus. Dans un communicateur donné."

Transcription

1 Les communications collectives Communications dans un groupe de processus. Dans un communicateur donné. Trois sortes : Synchronisation globale MI_Barrier() Transferts de données : diffusion/collecte globale/sélective (Broadcast, scatter, gather) Opérations de réduction : somme globale, maximum global, etc. suivies éventuellement d une diffusion du résultat à tous les participants ermettent à l utilisateur de faire une série de communications point à point en utilisant une seule fonction Hugues Leroy Cours de DE CH 3.5 / Hugues Leroy Cours de DE CH 3.5 / Caractéristiques C est une action collective dans un communicateur Tous les processus de ce communicateur doivent participer Une synchronisation peut avoir lieu (ce n est pas toujours le cas) Toutes ces opérations sont bloquantes On ne spécifie pas d étiquette (cette gestion est à la charge du système, il n y aura pas d interférences avec les autres communications) Les tampons de réception doivent avoir exactement la même taille Les types de données doivent évidemment être les mêmes ttention : tous les processus du communicateur doivent participer. Le nom des primitives est assez ambigü car pour MI_Bcast par exemple (broadcast) un processus fera la diffusion et les autres écouterons (recv). Mais pour tous la primitive se nomme Bcast! Hugues Leroy Cours de DE CH 3.5 / 3 Hugues Leroy Cours de DE CH 3.5 / 4

2 Barrière de synchronisation C: int MI_Barrier (MI_Comm comm) Fortran: MI_BRRIER (COMM, IERROR) INTEGER COMM, IERROR Hugues Leroy Cours de DE CH 3.5 / 5 Hugues Leroy Cours de DE CH 3.5 / 6 Diffusion générale C: int MI_Bcast ( Fortran: void *buffer, int count, MI_Datatype datatype, int root, MI_Comm comm) MI_BCST (BUFFER, COUNT, DTTYE, ROOT, COMM, IERROR) <type> BUFFER(*) INTEGER COUNT, DTTYE, ROOT, COMM, IERROR Il n y a pas de multicast : un broadcast effectué par le processus root ne peut pas être reçu par un MI_Recv() par les autres processus du communicateur (tous les processus DOIVENT faire Bcast) Hugues Leroy Cours de DE CH 3.5 / 7 Hugues Leroy Cours de DE CH 3.5 / 8

3 ar abus de notation on a rajouté une flèche de vers sur le dessin, juste pour rappeler que participe bien au Bcast 3 MI_Bcast(&valeur,,MI_INT,,MI_COMM_WORLD) MI_Bcast 3 3 Hugues Leroy Cours de DE CH 3.5 / 9 Hugues Leroy Cours de DE CH 3.5 / Diffusion sélective : MI_Scatter BCDE On distribue dans l ordre croissant des numéros de processus. Les processus reçoivent tous le même nombre d éléments : sendcnt divisé par le nb de processus du communicateur. BCDE Le paramètre recvcnt est en fait le sizeof(recvbuf) B C D E MI_Scatter ( void *sendbuf, int sendcnt, MI_Datatype sendtype, void *recvbuf, int recvcnt, MI_Datatype recvtype, int root, MI_Comm comm ) (on traite dans l ordre croissant des numéros de processus) Hugues Leroy Cours de DE CH 3.5 / Hugues Leroy Cours de DE CH 3.5 /

4 Collecte : MI_Gather La remarque sur sendcnt est à retenir... B C D E Le Gather est l opération symétrique du Scatter. On ne peut pas avec Gather recevoir des contributions de tailles diverses. BCDE B C D E MI_Gather ( void *sendbuf, int sendcnt, MI_Datatype sendtype, void *recvbuf, int recvcnt, MI_Datatype recvtype, int root, MI_Comm comm ) ttention : recvcnt doit être égal à sendcnt, et non pas égal à la somme S de tous les sendcnt. Le tampon de reception recvbuf devra bien entendu avoir une taille d au moins S. Hugues Leroy Cours de DE CH 3.5 / 3 Hugues Leroy Cours de DE CH 3.5 / 4 Opérations de réduction Opérations sur des valeurs distribuées dans un groupe de processus Exemples : C somme ou produit global maximum ou minimum global opération globale définie par l utilisateur int MI_Reduce ( void *sendbuf,void *recvbuf, int count, MI_Datatype datatype, MI_Op op, int root, MI_Comm comm ) Hugues Leroy Cours de DE CH 3.5 / 5 Hugues Leroy Cours de DE CH 3.5 / 6

5 Réductions prédéfinies MI_Op MI_MX MI_MIN MI_SUM MI_ROD MI_LND MI_BND MI_LOR MI_BOR MI_LXOR MI_BXOR MI_MXLOC MI_MINLOC Fonction Maximum Minimum Somme roduit ET Logique ET Bit à bit OU Logique OU Bit à bit OU Exclusif Logique OU Exclusif Bit à bit Maximum et indice du maximum Minimum et indice du minimum Hugues Leroy Cours de DE CH 3.5 / 7 Hugues Leroy Cours de DE CH 3.5 / 8 MI_Reduce RNK B C D B C D o est l opérateur de réduction. On traite dans l ordre croissant des numéros de processus. ROOT MI_REDUCE 3 4 oeoiomoq Hugues Leroy Cours de DE CH 3.5 / 9 Hugues Leroy Cours de DE CH 3.5 /

6 C: Exemple de réduction : Une somme globale d entiers MI_Reduce(&x, &result,, MI_INT, MI_SUM,, MI_COMM_WORLD) ; Fortran: CLL MI_REDUCE( x, result,, MI_INTEGER, MI_SUM,, MI_COMM_WORLD, IERROR) Somme les x de chaque processus et range dans result Le résultat est ici disponible uniquement pour le processus (root) INTEGER MXHT, GLOBMX, IERROR, MYID utre exemple C On a une simulation de croissance d arbres dans une forêt. On a parallélisé C en attribuant à chaque processus une partie de la forêt. C u bout d un certain temps on veut savoir quel est l arbre le plus grand... C Le processus sera celui qui connaitra la taille max de tous les arbres de la forêt C C Chaque processus trouve l arbre le plus haut de son coin de forêt...ici un calcul... C CLL MI_REDUCE ( MXHT, GLOBMX,, MI_INTEGER, MI_MX, *,MI_COMM_WORLD, IERROR) C IF (MYID.EQ.) THEN... ENDIF Hugues Leroy Cours de DE CH 3.5 / Hugues Leroy Cours de DE CH 3.5 / Opération de réduction définie par l utilisateur Dans la suite on note par o l opérateur de réduction C - la fonction est du type MI_User_function : Remarque : on n utilisera pas lors de cette formation cette possibilité de définir nos propres opérateurs de réduction. void my_operator ( void *invec, void *inoutvec, int *len, MI_Datatype *datatype) Fortran FUNCTION MY_OERTOR ( INVEC(*), INOUTVEC(*), LEN, DTTYE ) <type> INVEC(LEN), INOUTVEC(LEN) INTEGER LEN, DTTYE Hugues Leroy Cours de DE CH 3.5 / 3 Hugues Leroy Cours de DE CH 3.5 / 4

7 Définition de l opérateur de réduction la fonction associée à cet opérateur o s applique aux éléments des vecteurs d entrée et sortie comme suit : for (i = ; i < len ; i++ ) inoutvec(i) = inoutvec(i) o invec(i) l opérator o n est pas forcément commutatif il y a associativité, mais cette propriété n est pas forcément vérifiée avec les nombres réels (troncatures...). rofitons de cette occasion pour rappeler qu un bon algorithme doit toujours se préoccuper de la précision des calculs et de la validité des résultats... Hugues Leroy Cours de DE CH 3.5 / 5 Hugues Leroy Cours de DE CH 3.5 / 6 Enregistrer un opérateur de réduction Son type doit être MI_Op ( C ) ou INTEGER ( Fortran ) C : int MI_Op_create ( MI_User_function *function, int commute, MI_Op *op ) Fortran : MI_O_CRETE ( FUNC, COMMUTE, O, IERROR ) EXTERNL FUNC LOGICL COMMUTE INTEGER O, IERROR Hugues Leroy Cours de DE CH 3.5 / 7 Hugues Leroy Cours de DE CH 3.5 / 8

8 Variantes de MI_Reduce MI_LLREDUCE : pas de processus root ( tous ont le résultat final ) int MI_llreduce ( void *sendbuf, void *recvbuf, int count, MI_Datatype datatype, MI_Op op, MI_Comm comm ) MI_REDUCE_SCTTER : les processus choissisent de recevoir une certaine partie du résultat. Ces parties sont distribuées dans l ordre des numéros (rangs) de processus. int MI_Reduce_scatter ( void *sendbuf, void *recvbuf, int *recvcnts, MI_Datatype datatype, MI_Op op, MI_Comm comm ) MI_SCN : les processus reçoivent un résultat partiel int MI_Scan ( void *sendbuf, void *recvbuf, int count, MI_Datatype datatype, MI_Op op, MI_Comm comm ) Hugues Leroy Cours de DE CH 3.5 / 9 Hugues Leroy Cours de DE CH 3.5 / 3 MI_llreduce RNK B C D B C D MI_LLREDUCE 3 4 oeoiomoq Hugues Leroy Cours de DE CH 3.5 / 3 Hugues Leroy Cours de DE CH 3.5 / 3

9 MI_Reduce_scatter RNK recvcounts B C D B C D On traite toujours dans l ordre croissant des numéros de processus. MI_REDUCE_SCTTER 3 4 oeoiomoq Hugues Leroy Cours de DE CH 3.5 / 33 Hugues Leroy Cours de DE CH 3.5 / 34 MI_Scan RNK B C D B C D oe MI_SCN oeoi 3 oeoiom 4 oeoiomoq Hugues Leroy Cours de DE CH 3.5 / 35 Hugues Leroy Cours de DE CH 3.5 / 36

10 Exercice 5 (Scatter/Gather) Un produit de matrices carrées (à faire en C ou Fortran) C= x B les matrices à multiplier ( et B) sont sur le processus. Celui-ci distribue une tranche horizontale de la matrice et une tranche verticale de B à chacun des processus. Chacun calcule alors un bloc diagonal de C. our le calcul des blocs non diagonaux chaque processus doit envoyer aux autres la tranche de qu il possède. près quoi le processus peut collecter les résultats et les imprimer. Faire l étude de mise à l échelle (scalability) correspondante. Essayez aussi pour le produit matrice vecteur. Que peut-on en déduire? Insister sur le calcul de mise à l échelle. Bien noter les volumes de calcul et les volumes échangés, puis évaluer le ratio Tcomm / Tcalc. Si on a n processus on utilisera une matrice carrée d ordre multiple de n. N oubliez pas de vérifier que vous avez bien le bon résultat! B C Hugues Leroy Cours de DE CH 3.5 / 37 Hugues Leroy Cours de DE CH 3.5 / 38 Exercice 6 En tirant à pile ou face sur chacun des processus, boucler jusqu à ce que tous les processus fassent le même choix ou bien jusqu à ce qu on atteigne un nombre - fixé à priori - d essais. (utiliser MI_llreduce) Exercice 7 Transformer le programme de l anneau : pour calculer la somme, utiliser une opération de réduction globale. Ensuite transformer le programme pour que chaque processus calcule une somme partielle. Enfin chaque processus doit imprimer sa somme partielle, mais dans le bon ordre : processus, puis processus, etc. Hugues Leroy Cours de DE CH 3.5 / 39 Hugues Leroy Cours de DE CH 3.5 / 4

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail

MPI-1 2ème partie : Programmation «non bloquante» et communications de groupe

MPI-1 2ème partie : Programmation «non bloquante» et communications de groupe 3A-SI Programmation parallèle MPI-1 2ème partie : Programmation «non bloquante» et communications de groupe Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle MPI-1 2ème partie

Plus en détail

Plan de la formation. Calcul parallèle avec MPI. Pourquoi paralléliser? Parallélisation. Présentation, environnement MPI. Communications point à point

Plan de la formation. Calcul parallèle avec MPI. Pourquoi paralléliser? Parallélisation. Présentation, environnement MPI. Communications point à point Plan de la formation Calcul parallèle avec MPI Guy Moebs Parallélisation Présentation, environnement MPI Communications point à point Laboratoire de Mathématiques Jean Leray, CNRS, Université de Nantes,

Plus en détail

simulation de variables aléatoires

simulation de variables aléatoires Exercice 1 Simulation mains au poker On veut simuler le tirage d une main au Poker, il s agit de tirer 5 cartes dans un jeu de 52 cartes. Pour représenter le jeu on utiliser une matrice à 52 lignes et

Plus en détail

Problèmes liés à la concurrence

Problèmes liés à la concurrence ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions

Plus en détail

Grid Computing. Mihaela JUGANARU-MATHIEU mathieu@emse.fr 2014-2015. École Nationale Supérieure des Mines de St Etienne

Grid Computing. Mihaela JUGANARU-MATHIEU mathieu@emse.fr 2014-2015. École Nationale Supérieure des Mines de St Etienne Mihaela JUGANARU-MATHIEU mathieu@emse.fr École Nationale Supérieure des Mines de St Etienne 2014-2015 Bibliographie (livres et revues) : Frédéric Magoulès, Jie Pan, Kiat-An, Tan Abhinit Kumar Introduction

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. 1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le

Plus en détail

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013 Rendu Temps Réel - OpenGL 4 et compute shaders December 18, 2013 résumé des épisodes précédents... création des objets opengl, organisation des données, configuration du pipeline, draw,... opengl 4.3 :

Plus en détail

Programmation en VBA

Programmation en VBA Programmation en VBA Présentation de Visual Basic Visual Basic : Basic : dérivé du langage Basic (Biginner s All purpose Symbolic Instruction Code) des années 60 Visual : dessin et aperçu de l interface

Plus en détail

Cours Visual Basic URCA

Cours Visual Basic URCA Cours Visual Basic URCA Sommaire Introduction à la programmation VBA et VB Syntaxe de base, variables Opérateurs de base, boucles Introduction à la programmation Qu est-ce que la programmation? Séquences

Plus en détail

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e

Plus en détail

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Héritage en java : Calculatrice SDC

Héritage en java : Calculatrice SDC Programmation orientée objet L3 MIAGE Héritage en java : Calculatrice SDC Travail à rendre : le code complet du projet SDC sous forme d une archive tar.gz. L archive comportera trois répertoires : un répertoire

Plus en détail

PVM 1 PVM. Parallel Virtual Machine

PVM 1 PVM. Parallel Virtual Machine PVM 1 PVM Parallel Virtual Machine Jalel Chergui Messagerie : Jalel.Chergui@idris.fr Jean-Michel Dupays Messagerie : dupays@idris.fr PVM Plan 2 1 Introduction................. 5 1.1 Concepts de l échange

Plus en détail

Chaînes de Markov au lycée

Chaînes de Markov au lycée Journées APMEP Metz Atelier P1-32 du dimanche 28 octobre 2012 Louis-Marie BONNEVAL Chaînes de Markov au lycée Andreï Markov (1856-1922) , série S Problème 1 Bonus et malus en assurance automobile Un contrat

Plus en détail

Algorithmes évolutionnaires sur. et GPU. Introduction : GPU et puissance calculatoire Principe du GPU : le pipeline

Algorithmes évolutionnaires sur. et GPU. Introduction : GPU et puissance calculatoire Principe du GPU : le pipeline Algorithmes évolutionnaires et GPU Introduction : GPU et puissance calculatoire Principe du GPU : le pipeline graphique Introduction au parallélisme de données Exemple de simulation Les langages de haut-niveau

Plus en détail

TDs Architecture des ordinateurs DUT Informatique - M4104c SUJETS. R. Raffin Aix-Marseille Université romain.raffin-at-univ-amu.fr

TDs Architecture des ordinateurs DUT Informatique - M4104c SUJETS. R. Raffin Aix-Marseille Université romain.raffin-at-univ-amu.fr TDs Architecture des ordinateurs DUT Informatique - M4104c SUJETS R. Raffin Aix-Marseille Université romain.raffin-at-univ-amu.fr 2015 Table des matières 1 TD1 : les bonnes résolutions 2 1.1 Premières

Plus en détail

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende Que faire en algorithmique en classe de seconde? BEGIN Que dit le programme? Algorithmique (objectifs pour le lycée) La démarche algorithmique est, depuis les origines, une composante essentielle de l

Plus en détail

Projet CLANU en 3GE: Compléments d algèbre linéaire numérique

Projet CLANU en 3GE: Compléments d algèbre linéaire numérique Projet CLANU en 3GE: Compléments d algèbre linéaire numérique Année 2008/2009 1 Décomposition QR On rappelle que la multiplication avec une matrice unitaire Q C n n (c est-à-dire Q 1 = Q = Q T ) ne change

Plus en détail

Une bibliothèque de templates pour CUDA

Une bibliothèque de templates pour CUDA Une bibliothèque de templates pour CUDA Sylvain Collange, Marc Daumas et David Defour Montpellier, 16 octobre 2008 Types de parallèlisme de données Données indépendantes n threads pour n jeux de données

Plus en détail

CORRECTIONS DES EXERCICES DU CONCOURS D ENTREE EPITA 2005

CORRECTIONS DES EXERCICES DU CONCOURS D ENTREE EPITA 2005 CORRECTIONS DES EXERCICES DU CONCOURS D ENTREE EPITA 2005 REMARQUE : Les programmes en Pascal, C sont des exemples et peuvent être discutés en terme d implémentation et de construction. Le choix qui a

Plus en détail

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée ppd/mpassing p. 1/43 Programmation parallèle et distribuée Communications par messages Philippe MARQUET Philippe.Marquet@lifl.fr Laboratoire d informatique fondamentale de Lille Université des sciences

Plus en détail

Représentation des nombres entiers et réels. en binaire en mémoire

Représentation des nombres entiers et réels. en binaire en mémoire L3 Mag1 Phys. fond., cours C 15-16 Rep. des nbs. en binaire 25-09-05 23 :06 :02 page 1 1 Nombres entiers 1.1 Représentation binaire Représentation des nombres entiers et réels Tout entier positif n peut

Plus en détail

TS214 - Compression/Décompression d une image binaire

TS214 - Compression/Décompression d une image binaire Filière Télécommunications, 2 ème année TS214 - Compression/Décompression d une image binaire De nombreux télécopieurs utilisent la recommandation T.4 Groupe 3 de l International Telecommunications Union

Plus en détail

Corrigé des TD 1 à 5

Corrigé des TD 1 à 5 Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Mathématiques pour l Informatique Relations binaires Jérôme Gensel

Mathématiques pour l Informatique Relations binaires Jérôme Gensel Master ICA Spécialité IHS Année 2007/2008 Mathématiques pour l Informatique Relations binaires Jérôme Gensel I) Relations binaires 1. Généralités Définition 1 : Une relation binaire d un ensemble E vers

Plus en détail

Arbres binaires et codage de Huffman

Arbres binaires et codage de Huffman MP Option Informatique Premier TP Caml Jeudi 8 octobre 2009 Arbres baires et codage de Huffman 1 Arbres baires Soit E un ensemble non vide. On défit la notion d arbre baire étiqueté (aux feuilles) par

Plus en détail

Rendu de travaux I, Algo - langage C

Rendu de travaux I, Algo - langage C IFIP 33 avenue de la République 75011 PARIS Rendu de travaux I, Valérie Amiot RP 50 2001-2002 SOMMAIRE I. Pourquoi sous C? II. Présentation du jeu 1) But du jeu III. Analyse fonctionnelle IV. Fonctionnalités

Plus en détail

Cours de compilation

Cours de compilation Cours de compilation 1 Introduction Un compilateur est un logiciel de traduction d un langage source vers un langage cible. D ordinaire le langage source est un langage de programmation évolué, comme C++

Plus en détail

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12 Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Introduction to Parallel Programming with MPI

Introduction to Parallel Programming with MPI Introduction to Parallel Programming with MPI Master Modélisation et Simulation - ENSTA cours A1-2 Pierre Kestener pierre.kestener@cea.fr CEA-Saclay, DSM, France Maison de la Simulation MDLS, September,

Plus en détail

Mathématiques appliquées à l informatique

Mathématiques appliquées à l informatique Mathématiques appliquées à l informatique Jean-Etienne Poirrier 15 décembre 2005 Table des matières 1 Matrices 3 1.1 Définition......................................... 3 1.2 Les différents types de matrices.............................

Plus en détail

V. Visualisation d une scène

V. Visualisation d une scène V. Visualisation d une scène 1. Cadrage Il ne faut pas confondre la fenêtre d affichage (définie par le système de fenêtrage qui est indépendant d OpenGL) et le cadre (partie de fenêtre) dans lequel on

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

Examen Médian - 1 heure 30

Examen Médian - 1 heure 30 NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

GEL-7064 : Théorie et pratique des codes correcteurs Codes cycliques Notes de cours

GEL-7064 : Théorie et pratique des codes correcteurs Codes cycliques Notes de cours linéaires GEL-7064 : Théorie et pratique des codes correcteurs Notes de cours Département de génie électrique et de génie informatique Université Laval jean-yves.chouinard@gel.ulaval.ca 12 février 2013

Plus en détail

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée. ANALYSE 5 points Exercice 1 : Léonie souhaite acheter un lecteur MP3. Le prix affiché (49 ) dépasse largement la somme dont elle dispose. Elle décide donc d économiser régulièrement. Elle a relevé qu elle

Plus en détail

Algorithmique répartie

Algorithmique répartie Université Joseph Fourier 23/04/2014 Outline 1 2 Types de communication message envoyé à un groupe de processus Broadcast (diffusion) message envoyé à tous les processus du systèmes Unicast message envoyé

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 1 Arbres binaires de recherche 1 Les arbre sont très utilisés en informatique, d une part parce que les informations sont souvent hiérarchisées, et peuvent être représentées naturellement sous

Plus en détail

Travaux dirigés n o 6

Travaux dirigés n o 6 Travaux dirigés n o 6 Lycée Kléber MPSI, Option Info 2014/2015 Exercice 1 (Indexation d un arbre binaire) Ecrire une fonction Caml indexation : ( f, n) arbre_binaire -> (string,string) arbre_binaire qui

Plus en détail

Office - Le menu Dessin La barre d'outil Dessin

Office - Le menu Dessin La barre d'outil Dessin Office - Le menu Dessin La barre d'outil Dessin Le module de dessin d'office est un logiciel de dessin vectoriel*. Il crée des figures géométriques en les transformant en équation dites courbes de Béziers*

Plus en détail

II. Conversions. I. Initialisation. III. Méthode point. TD Python Traitement d images MP*

II. Conversions. I. Initialisation. III. Méthode point. TD Python Traitement d images MP* Le but de ce TD est d utiliser les procédures et fonctions Python pour traiter des fichiers images. II. Conversions I. Initialisation Importer le module numpy sous l appellation np. On utilise le module

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

TBI et mathématique. Pour vous soutenir dans votre enseignement des mathématiques. Les outils du logiciel Notebook. les ressources internet

TBI et mathématique. Pour vous soutenir dans votre enseignement des mathématiques. Les outils du logiciel Notebook. les ressources internet TBI et mathématique Pour vous soutenir dans votre enseignement des mathématiques Dessin tiré du site www.recitus.qc.ca Les outils du logiciel Notebook et les ressources internet Document préparé par France

Plus en détail

Terminale STMG Lycée Jean Vilar 2013/2014. Terminale STMG. O. Lader

Terminale STMG Lycée Jean Vilar 2013/2014. Terminale STMG. O. Lader Terminale STMG O. Lader Table des matières 1 Information chiffrée (4s) 4 1.1 Taux d évolution....................................... 6 1.2 indices............................................. 6 1.3 Racine

Plus en détail

Ch. 1 : Bases de programmation en Visual Basic

Ch. 1 : Bases de programmation en Visual Basic Ch. 1 : Bases de programmation en Visual Basic 1 1 Variables 1.1 Définition Les variables permettent de stocker en mémoire des données. Elles sont représentées par des lettres ou des groupements de lettres

Plus en détail

Marches, permutations et arbres binaires aléatoires

Marches, permutations et arbres binaires aléatoires Marches, permutations et arbres binaires aléatoires Épreuve pratique d algorithmique et de programmation Concours commun des Écoles Normales Supérieures Durée de l épreuve: 4 heures Cœfficient: 4 Juillet

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

Application 1- VBA : Test de comportements d'investissements

Application 1- VBA : Test de comportements d'investissements Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps

Plus en détail

Chapitre 3 Structures de données linéaires : listes, piles et files

Chapitre 3 Structures de données linéaires : listes, piles et files Chapitre 3 Structures de données linéaires : listes, piles et files 1. Introduction Le but de ce chapitre est de décrire des représentations des structures de données de base telles les listes en général

Plus en détail

1. Structure d'un programme FORTRAN 95

1. Structure d'un programme FORTRAN 95 FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)

Plus en détail

TP 4 -Arbres Binaires -

TP 4 -Arbres Binaires - L3 Informatique Programmation fonctionnelle OCaml Année 2013/2014 TP 4 -Arbres Binaires - Un arbre binaire est une structure de données qui peut se représenter sous la forme d une hiérarchie dont chaque

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Jeu de taquin : résolution automatique sur ordinateur

Jeu de taquin : résolution automatique sur ordinateur 1 Jeu de taquin : résolution automatique sur ordinateur Sous sa forme la plus générale, le jeu de taquin est constitué d un rectangle rempli par des blocs carrés accolés, chacun portant un numéro, avec

Plus en détail

Algorithmique et programmation avec Java (NFA002)

Algorithmique et programmation avec Java (NFA002) Algorithmique et programmation avec Java (NFA002) Deuxième session 13 septembre 2012 Aucun document n est autorisé. Le barème est donné à titre indicatif. Exercice 1 : listes (4 points) Etudiez le programme

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under

Plus en détail

Notes de cours. Introduction

Notes de cours. Introduction Notes de cours GEI 44 : STRUCTURES DE DONNÉES ET ALGORITHMES Chapitre 5 Application des piles Introduction Piles très utilisées dans les compilateurs Voici deux exemples de composants d un compilateur

Plus en détail

DEMARCHE ET MISE EN ŒUVRE

DEMARCHE ET MISE EN ŒUVRE Chapitre I : CONVENTIONS D ECRITURE 15 CHAPITRE I DEMARCHE ET MISE EN ŒUVRE Le développement de fonctions mathématiques peut répondre à plusieurs critères ou objectifs tels que la vitesse d exécution,

Plus en détail

OSCILLOSCOPES Numériques

OSCILLOSCOPES Numériques OSCILLOSCOPES Numériques La partie pratique de ce TP, effectuée en salle de TP, sera divisée en trois parties. Les deux premières parties sont consacrées respectivement au couplage et à la synchronisation

Plus en détail

Simulation et visualisation d un fluide 3D. Michael Ash Septembre 2005

Simulation et visualisation d un fluide 3D. Michael Ash Septembre 2005 Simulation et visualisation d un fluide 3D Michael Ash Septembre 2005 1 Remerciements Je remercie mon maître de stage, Sophie Robert, et toute l équipe de Réalité Virtuelle au LIFO. Je remercie aussi Jonathan

Plus en détail

Partie 7 : Gestion de la mémoire

Partie 7 : Gestion de la mémoire INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

CH 06 UTILISATION DE L OSCILLOSCOPE

CH 06 UTILISATION DE L OSCILLOSCOPE CH 06 UTILISATION DE L OSCILLOSCOPE Pendant tout le TP vous utiliserez la Fiche méthode de l oscilloscope OX 71 Livre Bordas, Collection ESPACE, 2008, p 183 I- FONCTIONNEMENT Mettre l appareil sous tension.

Plus en détail

Statistique : Résumé de cours et méthodes

Statistique : Résumé de cours et méthodes Statistique : Résumé de cours et méthodes 1 Vocabulaire : Population : c est l ensemble étudié. Individu : c est un élément de la population. Effectif total : c est le nombre total d individus. Caractère

Plus en détail

Programmation Orientée Objet Java

Programmation Orientée Objet Java Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 12 novembre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 12 novembre

Plus en détail

Gestion de gros fichiers binaires (images) en APL*PLUS III

Gestion de gros fichiers binaires (images) en APL*PLUS III Gestion de gros fichiers binaires (images) en APL*PLUS III par Gérard A. Langlet Lun des nombreux problèmes que nous avons rencontrés en APL concerne l impression d images, constituées en fait de grosses

Plus en détail

INF601 : Algorithme et Structure de données

INF601 : Algorithme et Structure de données Cours 2 : TDA Liste B. Jacob IC2/LIUM 15 février 2010 Plan 1 Définition du TDA Liste 2 Réalisation du TDA Liste 3 Type de stockage des éléments 4 Recherche d un élément Dans une liste non triée Dans une

Plus en détail

La classification automatique de données quantitatives

La classification automatique de données quantitatives La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations

Plus en détail

Méthode d extraction des signaux faibles

Méthode d extraction des signaux faibles Méthode d extraction des signaux faibles Cristelle ROUX GFI Bénélux, Luxembourg cristelle.roux@gfi.be 1. Introduction Au début d une analyse stratégique, la première question posée est très souvent la

Plus en détail

de calibration Master 2: Calibration de modèles: présentation et simulation d

de calibration Master 2: Calibration de modèles: présentation et simulation d Master 2: Calibration de modèles: présentation et simulation de quelques problèmes de calibration Plan de la présentation 1. Présentation de quelques modèles à calibrer 1a. Reconstruction d une courbe

Plus en détail

LES ALGORITHMES ARITHMETIQUES

LES ALGORITHMES ARITHMETIQUES LES ALGORITHMES ARITHMETIQUES I- Introduction Dans ce chapitre nous allons étudier quelques algorithmes relatifs à l arithmétique qui est une branche des mathématiques qui étudie les relations entre les

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Création du projet : 1 sur 13

Création du projet : 1 sur 13 Prise en main rapide de Vijéo Designer 5.0 Configuration de la communication API et pupitre sur Ethernet page1 API et pupitre sur Série page3 XBTGT1130 avec liaison ETHERNET API et PC Création du projet

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

Cours de numérisation sur Epson Perfection

Cours de numérisation sur Epson Perfection Cours de numérisation sur Epson Perfection 1- Vérifiez la propreté de la vitre, placez l original sur celle-ci. À savoir, on peut numériser des transparents avec ce scanner ; il a un capteur CCD dans le

Plus en détail

C f tracée ci- contre est la représentation graphique d une

C f tracée ci- contre est la représentation graphique d une TLES1 DEVOIR A LA MAISON N 7 La courbe C f tracée ci- contre est la représentation graphique d une fonction f définie et dérivable sur R. On note f ' la fonction dérivée de f. La tangente T à la courbe

Plus en détail

TP : Gestion d une image au format PGM

TP : Gestion d une image au format PGM TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples

Plus en détail

Texte Agrégation limitée par diffusion interne

Texte Agrégation limitée par diffusion interne Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse

Plus en détail

LES DÉTERMINANTS DE MATRICES

LES DÉTERMINANTS DE MATRICES LES DÉTERMINANTS DE MATRICES Sommaire Utilité... 1 1 Rappel Définition et composantes d'une matrice... 1 2 Le déterminant d'une matrice... 2 3 Calcul du déterminant pour une matrice... 2 4 Exercice...

Plus en détail

Deuxième partie. Protocoles d exclusion mutuelle. Plan. Interférences et isolation. Isolation Protocoles d exclusion mutuelle

Deuxième partie. Protocoles d exclusion mutuelle. Plan. Interférences et isolation. Isolation Protocoles d exclusion mutuelle Plan Deuxième partie 1 2 Primitives de gestion des activités 2 / 26 4 / 26 Interférences et isolation Contenu de cette partie di cultés résultant d accès concurrents à un objet partagé mise en œuvre de

Plus en détail

PLAN. Synchronisation des Processus: Exclusion Mutuelle. Problème de synchronisation: Exemple. Spécification du Problème

PLAN. Synchronisation des Processus: Exclusion Mutuelle. Problème de synchronisation: Exemple. Spécification du Problème PLAN Synchronisation des Processus: Exclusion Mutuelle N.Hameurlain http://www.univ-pau.fr/~hameur Spécification du problème Section Critique () Exclusion Mutuelle Principe Propriétés Réalisation d exclusion

Plus en détail

STKUNIVE.PDF. version 2.1 - février 2002. Créer et diffuser des piles universelles avec HyperStudio et son indispensable langage HyperLogo.

STKUNIVE.PDF. version 2.1 - février 2002. Créer et diffuser des piles universelles avec HyperStudio et son indispensable langage HyperLogo. STKUNIVE.PDF version 2.1 - février 2002 Créer et diffuser des piles universelles avec HyperStudio et son indispensable langage HyperLogo. HyperStudiens, HyperStudiennes : bonjour! Penser que votre travail

Plus en détail

Cours 7 : fonctions recursives, arithmétique binaire, flottants 1

Cours 7 : fonctions recursives, arithmétique binaire, flottants 1 Cours 7 : fonctions recursives, arithmétique binaire, flottants 1 Les types énumérés On peut aussi définir des types qui ont un nombre fini de valeurs (ex: jours de la semaine, couleurs primaires, etc.)

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Programmation Visual Basic sous Excel

Programmation Visual Basic sous Excel 1 Programmation Visual Basic sous Excel Version provisoire Septembre 06 1 Introduction Excel était avant tout un tableur. Au fil des versions, il a su évoluer et intégrer des fonctionnalités qui le rendent

Plus en détail

Fiche de TD-TP no. 4

Fiche de TD-TP no. 4 Master 1 Informatique Programmation Fonctionnelle, p. 1 Fiche de TD-TP no. 4 Exercice 1. Voici trois façons différentes de définir le type Image : type Image = [[ Int ]] data Image = Image [[ Int ]] newtype

Plus en détail

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

Le calcul numérique : pourquoi et comment?

Le calcul numérique : pourquoi et comment? Le calcul numérique : pourquoi et comment? 16 juin 2009 Claude Gomez Directeur du consortium Scilab Plan Le calcul symbolique Le calcul numérique Le logiciel Scilab Scilab au lycée Le calcul symbolique

Plus en détail

Message Passing Interface (MPI)

Message Passing Interface (MPI) Message Passing Interface (MPI) Isabelle Dupays Marie Flé Jérémie Gaidamour Dimitri Lecas MPI Plan I 1 Introduction... 6 1.1 Introduction... 7 1.2 Concepts de l échange de messages...8 1.3 Mémoire distribuée...

Plus en détail

Simulation de variables aléatoires

Simulation de variables aléatoires Chapter 1 Simulation de variables aléatoires Références: [F] Fishman, A first course in Monte Carlo, chap 3. [B] Bouleau, Probabilités de l ingénieur, chap 4. [R] Rubinstein, Simulation and Monte Carlo

Plus en détail