Travaux pratiques MPI
|
|
|
- Marie-Claire Bernier
- il y a 10 ans
- Total affichages :
Transcription
1 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 P Gestion des groupes Gestion des communicateurs Projets de TP 1
2 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 : 2
3 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 p0 p2 p4 p5 p1 p3 p6 Communicateur A Communicateur B 3
4 Exécution d un programme C /* fichier hello.c*/ #include <stdio.h> int main() { printf("hello World!"); return 0; Compilation: $gcc hello.c (ou gcc o hello.exe hello.c) Exécution: $./a (ou /home/./a.exe ou./hello) Résultat: $ Hello World! 4
5 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
6 Quelques fonctions MPI (1/2) int MPI_Init(int *argc, char ***argv) int MPI_Finalize() int MPI_Comm_rank(MPI_Comm comm, int *rank) int MPI_Comm_size(MPI_Comm comm, int *size) int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status) int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) int MPI_Comm_group(MPI_Comm comm, MPI_Group *group) int MPI_Group_incl(MPI_Group group, int n, const int ranks[], MPI_Group *newgroup) int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm) 6
7 Quelques fonctions MPI (2/2) int MPI_Reduce(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root,mpi_comm comm) Int MPI_Allreduce( void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm ) Opérations : MPI_MAX : maximum MPI_MIN : minimum MPI_SUM : sum MPI_PROD : product MPI_LAND : logical and MPI_BAND : bit-wise and MPI_LOR : logical or MPI_BOR : bit-wise or MPI_LXOR: logical xor MPI_BXOR : bit-wise xor MPI_MAXLOC : max value + location MPI_MINLOC : min value + location Liste complète ( 360 fonctions) : 7
8 Exemples de programmes Exemple 1 : Communication entre processus Exemple 2 : Calcul de P Exemple 3 : Gestion des groupes Exemple 4 : Gestion des communicateurs Exercices 8
9 Algorithme de communication p nombre total des processus rang identificateur du processus si (rang 0) alors message Hello world du processus + rang envoyer(message,0) sinon écrire( Hello world du processus 0 : nombre de processus,p) pour source=1 à (p-1) faire recevoir(message,source) p0 écrire(message) p1 p2 p3 9
10 Programme de communication (1/3) /* programme hellompi.c*/ #include <stdio.h> #include <string.h> #include "mpi.h" int main(int argc, char* argv[]){ int my_rank; /* rank of process */ int p; /* number of processes */ int source; /* rank of sender */ int dest; /* rank of receiver */ int tag=0; /* tag for messages */ char message[100]; /* storage for message */ MPI_Status status ; /* return status for receive */ 10
11 Programme de communication (2/3) /* start up MPI */ MPI_Init(&argc, &argv); /* find out process rank */ MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); /* find out number of processes */ MPI_Comm_size(MPI_COMM_WORLD, &p); if (my_rank!=0){ /* create message */ 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
12 Programme de communication (3/3) else{ printf("hello MPI World From process 0: Num processes: %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); /* shut down MPI */ MPI_Finalize(); return 0; 12
13 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? 13
14 Algorithme du calcul de P Calc_pi(rank, num_procs) si (rank = 0) alors num_intervals 1000 diffuser(num_intervals) h 1/num_intervals sum 0 pour i = rank + 1 à num_intervals pas num_procs x=h * (i 0,5) sum = sum + 4*racine_carrée(1 x 2 ) mypi = h* sum reduce(mypi,pi) si (rank = 0) alors écrire( PI=, pi) 14
15 Schéma du calcul de P Hypoyhèse : num_procs = 3 (p0, p1 et p2) num_intervals =10 donc h = 0,1 1 p0 calcule les valeurs x=0,05, x=0,35, x=0,65 et x=0,95 p1 calcule les valeurs x=0,15, x=0,45 et x=0,75 p2 calcule les valeurs x=0,25, x=0,55 et x=0,85 p0 p1 p2 p0 p1 p2 p0 p1 p2 p0 1 15
16 Programme du calcul de P (1/5) /* fichier calculpi.c */ #include <mpi.h> #include <stdio.h> #include <string.h> void calc_pi(int rank, int num_procs){ int i; int num_intervals; double h; double mypi; double pi; double sum; double x; /* set number of intervals to calculate */ if (rank == 0) { num_intervals = 1000; 16
17 Programme du calcul de P (2/5) /* tell other tasks how many intervals */ MPI_Bcast(&num_intervals, 1, MPI_INT, 0, MPI_COMM_WORLD); /* now everyone does their calculation */ h = 1.0 / (double) num_intervals; sum = 0.0; for (i = rank + 1; i <= num_intervals; i += num_procs) { x = h * ((double)i - 0.5); sum += (4.0 * sqrt(1.0 - x*x)); mypi = h * sum; /* combine everyone's calculations */ MPI_Reduce(&mypi, &pi, 1, MPI_DOUBLE, MPI_SUM, 0,MPI_COMM_WORLD); if (rank == 0) { printf("pi is approximately %.16f\n", pi); 17
18 Programme du calcul de P (3/5) int main(int argc, char *argv[]) { int my_rank; /* rank of process */ int num_procs; /* number of processes */ int source; /* rank of sender */ int dest = 0; /* rank of receiver */ int tag = 0; /* tag for messages */ char message[100]; /* storage for message */ MPI_Status status ; /* return status for receive */ /* start up MPI */ MPI_Init(&argc, &argv); /* find out process rank */ MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); /* find out number of processes */ MPI_Comm_size(MPI_COMM_WORLD, &num_procs); 18
19 Programme du calcul de P (4/5) if (my_rank!= 0) { /* create message */ snprintf(message,26, "Greetings from process %d!", my_rank); /* use strlen+1 so that '\0' get transmitted */ MPI_Send(message, strlen(message)+1, MPI_CHAR, dest, tag, MPI_COMM_WORLD); else { printf("num processes: %d\n",num_procs); for (source = 1; source < num_procs; source++) { MPI_Recv(message, 100, MPI_CHAR, source, tag, MPI_COMM_WORLD, &status); printf("process 0 received \"%s\"\n",message); 19
20 Programme du calcul de P (5/5) /* now return the compliment */ snprintf(message, 26, "Hi, how are you? "); MPI_Bcast(message, strlen(message)+1, MPI_CHAR, dest, MPI_COMM_WORLD); if (my_rank!= 0) { printf("process %d received \"%s\"\n", my_rank, message); /* calculate PI */ calc_pi(my_rank, num_procs); /* shut down MPI */ MPI_Finalize(); return 0; 20
21 Exercice 2 a) Compilation b) Exécution $mpicc -o hellompi.exe hellompi.c $mpirun -n 4 hellompi.exe c) Corriger le programme pour calculer P d) Créer calculmod.c tel que P = 4 * dx/(1 + x 2 ) e) Quelle est la version qui donne les meilleures précisions relativement à num_intervals réduit sachant que les 25 chiffres de P sont : Pi25 = 3, f) Déterminer le temps d exécution des deux versions en utilisant MPI_Wtime()
22 Algorithme de gestion des groupes NBPROCS=8 rank1={0,1,2,3, rank2=[4,5,6,7 rank identificateur du processus p nombre total des processus si (rank < NBPROCS / 2) alors inclure(rank,groupe1) Sinon inclure (rank,groupe2) recevoir(message,source) écrire(message) P 22
23 Programme de gestion des groupes (1/2) #include "mpi.h" #include <stdio.h> #define NPROCS 8 int main(argc,argv) int argc; char *argv[]; { int rank, new_rank, sendbuf, recvbuf, ranks1[4]={0,1,2,3,ranks2[4]={4,5,6,7; MPI_Group orig_group, new_group; MPI_Comm new_comm; MPI_Init(&argc,&argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); sendbuf = rank; /* Extract the original group handle */ MPI_Comm_group(MPI_COMM_WORLD, &orig_group); 23
24 Programme de gestion des groupes (2/2) /* Divide tasks into two distinct groups based upon rank */ if (rank < NPROCS/2) MPI_Group_incl(orig_group, NPROCS/2, ranks1, &new_group); else MPI_Group_incl(orig_group, NPROCS/2, ranks2, &new_group); /* Create new communicator and then perform collective communications */ MPI_Comm_create(MPI_COMM_WORLD, new_group, &new_comm); MPI_Allreduce(&sendbuf, &recvbuf, 1, MPI_INT, MPI_SUM, new_comm); MPI_Group_rank (new_group, &new_rank); printf("rank= %d newrank= %d recvbuf= %d\n",rank,new_rank,recvbuf); MPI_Finalize(); 24
25 Algorithme de gestion des communicateurs mon_rang identificateur du processus P nombre total des processus si (mon_rang < NBPROCS 0) alors inclure(mon_rang,groupe1) Sinon inclure (mon_rang,groupe2) recevoir(message,source) écrire(message) 25
26 Programme de gestion des communicateurs #include <stdio.h> #include <mpi.h> main(int argc, char **argv) { MPI_Comm row_comm, col_comm; int myrank, size, P=4, Q=3, p, q; MPI_Init (&argc, &argv); MPI_Comm_rank (MPI_COMM_WORLD, &myrank); MPI_Comm_size (MPI_COMM_WORLD, &size); /* Determine row and column position */ p = myrank / Q; q = myrank % Q; /* pick a row-major mapping */ /* Split comm into row and column comms */ MPI_Comm_split(MPI_COMM_WORLD, p, q, &row_comm); /* color by row, rank by column */ MPI_Comm_split(MPI_COMM_WORLD, q, p, &col_comm); /* color by column, rank by row */ printf("[%d]:my coordinates are (%d,%d)\n",myrank,p,q); MPI_Finalize(); 26
27 Exercice 3 a) Compilation b) Exécution $mpicc -o groupe.exe groupe.c $mpirun groupe.exe c) Diviser MPI_COMM_WORLD en 3 communicateurs non chevauchés (nonoverlapped) tels que : processus du rang 0, 3, 6,... appartient au premier groupe processus du rang 1, 4, 7,... appartient au deuxième groupe processus du rang 2, 5, 8,... appartient au troisième groupe 27
28 Références Ivan Lavallée, «Algorithmique parallèle et distribuée» Traité des nouvelles technologies, Hermes, Kai Hwang, «Advanced computer architecture: Parallelism, Sqcalability, Programmability», McGraw Hill Series in Computer Science, ml «MPI : A message Passing Interface Standard», Message Passing Interface Forum,
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
Systèmes parallèles et distribués
Systèmes parallèles et distribués Grégory Mounié 2013-12 Grégory Mounié Systèmes parallèles et distribués 2013-12 1 / 58 Outline 1 Introduction 2 Performances 3 Problèmes du calcul parallèle 4 Intergiciels
Introduction to Parallel Programming with MPI
Introduction to Parallel Programming with MPI Master Modélisation et Simulation - ENSTA cours A1-2 Pierre Kestener [email protected] CEA-Saclay, DSM, France Maison de la Simulation MDLS, September,
INFO-F-404 : Techniques avancées de systèmes d exploitation
Nikita Veshchikov e-mail : [email protected] téléphone : 02/650.58.56 bureau : 2N8.213 URL : http://student.ulb.ac.be/~nveshchi/ INFO-F-404 : Techniques avancées de systèmes d exploitation Table
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 [email protected] http://www.metz.supelec.fr/~vialle MPI-1 2ème partie
Grid Computing. Plan du cours. Plan. Composants d une Grille. [email protected]. Besoin d intergiciels robustes
Grid Computing Plan du cours [email protected] Les grilles informatiques : concepts et infrastructures La grille nationale Grid5000 Modèles de programmation et intergiciels pour le grilles Etude
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,
Programmation système de commandes en C
Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes
Grid Computing. Mihaela JUGANARU-MATHIEU [email protected] 2014-2015. École Nationale Supérieure des Mines de St Etienne
Mihaela JUGANARU-MATHIEU [email protected] É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
Introduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Systèmes distribués et virtualisation de ressources
p. 1/18 Systèmes distribués et virtualisation de ressources Tanguy RISSET (Transparents : Antoine Fraboulet) [email protected] p. 2/18 Plan 1 Distribution de ressources 1. Distribution de ressources
1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Exercice sur les Dockers
Exercice sur les Dockers Les parties composant les Dockers: 1 docker daemon: est un démon qui gère les dockers (les conteneurs LXC) qui tournent sur la machine hôte 2 docker CLI: une série de commandes
Algorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Programmation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Le prototype de la fonction main()
Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme
IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Programmation système I Les entrées/sorties
Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les
Exemple PLS avec SAS
Exemple PLS avec SAS This example, from Umetrics (1995), demonstrates different ways to examine a PLS model. The data come from the field of drug discovery. New drugs are developed from chemicals that
Programmation système en C/C++
Programmation système en C/C++ Jean-Baptiste Vioix ([email protected]) LE2I - ENESAD http://jb.vioix.free.fr 1-41 Programmation en C/C++ sous Unix Il existe des très nombreux outils de développement sous
Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1
Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig [email protected] - [email protected] Qu est-ce que la programmation? Programmer Ecrire un
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 :
Cours Programmation Système
Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda [email protected] Février
Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier
Cours de C Petits secrets du C & programmation avancée Sébastien Paumier [email protected] Illustrations provenant du site http://tux.crystalxp.net/ 1 Affectations étendues a+=expression a=a+expression
Génération de code binaire pour application multimedia : une approche au vol
Génération de binaire pour application multimedia : une approche au vol http://hpbcg.org/ Henri-Pierre Charles Université de Versailles Saint-Quentin en Yvelines 3 Octobre 2009 Présentation Présentation
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
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
WEB page builder and server for SCADA applications usable from a WEB navigator
Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB WEB page builder and server for SCADA applications usable from a WEB navigator opyright 2007 IRAI Manual Manuel
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence
Licence Algorithmique & Langage C Paternité - Pas d'utilisation Commerciale Partage des Conditions Initiales à l'identique 2.0 France Vous êtes libres : * de reproduire, distribuer et communiquer cette
3IS - Système d'exploitation linux - Programmation système
3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard [email protected] Environnement Les programmes peuvent être exécutés dans des
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
Programmation parallèle pour le calcul scientifique
Méthodologie M2 Programmation parallèle pour le calcul scientifique Benoît Semelin 2014 Préliminaire 1000 x ε ~ ε - Loguez vous sur rubicon.obspm.fr puis sur momentum.obspm.fr - Ecrire un programme qui:
Présentation Windows Azure Hadoop Big Data - BI
Présentation Windows Azure Hadoop Big Data - BI Sommaire 1. Architecture Hadoop dans Windows Azure... 3 2. Requête Hive avec Hadoop dans Windows Azure... 4 3. Cas d études... 5 3.1 Vue : Administrateur...
Institut français des sciences et technologies des transports, de l aménagement
Institut français des sciences et technologies des transports, de l aménagement et des réseaux Session 3 Big Data and IT in Transport: Applications, Implications, Limitations Jacques Ehrlich/IFSTTAR h/ifsttar
France SMS+ MT Premium Description
France SMS+ MT Premium Description Summary Subscription : kinematics Subscription via SMS (Kinematic + messages) Subscription via Wap (Kinematic + messages) Subscription via Mix SMS / WAP Subscription
Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00
Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00 HFFv2 1. OBJET L accroissement de la taille de code sur la version 2.0.00 a nécessité une évolution du mapping de la flash. La conséquence de ce
Groupe calcul parallèle
Groupe calcul parallèle «Exploiter le potentiel des nouvelles architectures» Vincent Lafage Luz Guevara Ivana Hrivnacova Christophe Diarra Contact :Luz Guevara e-mail : [email protected] Tel : 54463
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?
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Programmation parallèle et distribuée
ppd/mpassing p. 1/43 Programmation parallèle et distribuée Communications par messages Philippe MARQUET [email protected] Laboratoire d informatique fondamentale de Lille Université des sciences
How to Login to Career Page
How to Login to Career Page BASF Canada July 2013 To view this instruction manual in French, please scroll down to page 16 1 Job Postings How to Login/Create your Profile/Sign Up for Job Posting Notifications
Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition
Surveillance de Scripts LUA et de réception d EVENT avec LoriotPro Extended & Broadcast Edition L objectif de ce document est de présenter une solution de surveillance de processus LUA au sein de la solution
MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année
2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
Rapport de Mini-Projet en ArcGIS Engine
Rapport de Mini-Projet en ArcGIS Engine Réalisée par : Asmae BENMESSAOUD 3ème Année Cycle d Ingénieur Géoinformation Année Universitaire 2010- Sommaire 1 Introduction L analyse géographique et la visualisation
Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail
Finalités Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail Réalisé par sa modestie Arnaud de VILLEDON de NAIDE, le 9 mars 2013 Document sous licence GPL. Vous avez le droit d'en faire
Instructions Mozilla Thunderbird Page 1
Instructions Mozilla Thunderbird Page 1 Instructions Mozilla Thunderbird Ce manuel est écrit pour les utilisateurs qui font déjà configurer un compte de courrier électronique dans Mozilla Thunderbird et
Lier Erlang avec d autres langages de programmation
16 Lier Erlang avec d autres langages de programmation Les logiciels actuels, quelle que soit leur taille, sont souvent écrits dans plusieurs langages de programmation. Généralement, les pilotes de périphériques
Arguments d un programme
Arguments d un programme L2 SPI, Bruno Jacob 1 Arguments Quand on appelle un programme dans un environnement UNIX ou MS- DOS, on compose une ligne de commandes de la forme : nom-du-programme argument1
Durée estimée :1 journée Date de la réalisation : 2011. Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ
001 Titre : Mesure de température interfacée par carte Arduino Type de réalisation : montage électronique, de surveillance de température Concepteur : C. Rouviere Coordonnées : Laboratoire lbv villefranche/mer
Fiche produit ifinance v4
Fiche produit ifinance v4 2005-2015, Synium Software GmbH Traduction française 2003-2015, SARL Mac V.F. Philippe Bonnaure http://www.macvf.fr [email protected] Version 4 du 25/06/2015 Identification du
OUTIL DE TRAVAIL COLLABORATIF
B i b l i o t h è q u e OUTIL DE TRAVAIL COLLABORATIF Septembre 2012 TitanPad est un outil de travail collaboratif permettant de prendre des notes ou de rédiger à plusieurs un même texte à distance en
Cours 6 : Tubes anonymes et nommés
Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels
Mon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2
Mon premier rpm http://alexandre-mesle.com 7 juin 2010 Table des matières 1 Avant de commencer 2 1.1 RPM....................................................... 2 1.2 URPMI.....................................................
PARIS ROISSY CHARLES DE GAULLE
GPS 2 34 1 E 49 0 46 N GPS* 2 56 56 E 49 0 12 N Votre contact / Your contact: et / and: Accueil : Cabines téléphoniques publiques Reception: Public telephone kiosks Navette Shuttle AÉROPORT DE TT CAR TRANSIT
DNS Server RPC Interface buffer overflow. Céline COLLUMEAU Nicolas BODIN
Mémoire DNS Server RPC Interface buffer overflow Céline COLLUMEAU Nicolas BODIN 3 janvier 2009 Table des matières 1 Introduction 2 2 Présentation de la faille 3 3 Exemple d exploitation 5 4 Solutions 10
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles [email protected]
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles [email protected] Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables
Les chaînes de caractères
Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il
Initiation. àl algorithmique et à la programmation. en C
Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,
Parallélisme et bioinformatique
Master EGOIST - Rouen Plan 1 Introduction Parallélisme? Open MPI 2 Historique 3 Pour qui? Pour quoi? Parallélisme? C est quoi le parallélisme? Principe regrouper (physiquement ou logiquement) un ensemble
OpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
4. Outils pour la synchronisation F. Boyer, Laboratoire Lig [email protected]
4. Outils pour la synchronisation F. Boyer, Laboratoire Lig [email protected] Le problème Insuffisance des solutions de base (verrous) Les solutions de plus haut niveau Les Sémaphores Les Moniteurs
Rapport de stage de 2ème année. Filière Télécommunication
Institut Supérieur d'informatique, de Modélisation et de leurs Applications Complexe de Cézeaux BP 125 63173 Aubière Cedex www.isima.fr 1 rue de Provence BP 208-38432 Echirolles Cedex www.bull.com Rapport
Exercices sur SQL server 2000
Exercices sur SQL server 2000 La diagramme de classe : Exercices sur SQL server 2000 Le modèle relationnel correspondant : 1 Créer les tables Clic-droit on Tables et choisir «New Table» Créer la table
Les structures. Chapitre 3
Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre
Les communications collectives. Caractéristiques. Communications dans un groupe de processus. Dans un communicateur donné.
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
Le langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Corrigés des premiers exercices sur les classes
Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.
Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
REMBO Version 2.0. Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION. [email protected]
REMBO Version 2.0 Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION Description Successeur de BPBatch 3 déclinaisons Rembo Auto Deploy (déploiement massif de clients) Rembo Auto Backup (restauration
Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.
Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece
Projet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Paris Airports - Web API Airports Path finding
Paris Airports - Web API Airports Path finding Hackathon A660 Version Version Date writer Comment 1.0 19/05/2015 Olivier MONGIN Document creation Rédacteur : [email protected] Date : 19/05/2015 Approbateur
Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie
Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis
Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan
Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre
Compression de Données - Algorithme de Huffman Document de Conception
ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs
Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL
Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions
Once the installation is complete, you can delete the temporary Zip files..
Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une
The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you.
General information 120426_CCD_EN_FR Dear Partner, The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you. To assist navigation
Programmation en C. École Nationale Supérieure de Techniques Avancées. Pierre-Alain Fouque et David Pointcheval
École Nationale Supérieure de Techniques Avancées Programmation en C Pierre-Alain Fouque et David Pointcheval E-mail : [email protected] Web : http://www.di.ens.fr/~fouque/ Table des matières
STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module
François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée
Application Form/ Formulaire de demande
Application Form/ Formulaire de demande Ecosystem Approaches to Health: Summer Workshop and Field school Approches écosystémiques de la santé: Atelier intensif et stage d été Please submit your application
Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces
Micro-ordinateurs, informations, idées, trucs et astuces Utiliser une WebCam Auteur : François CHAUSSON Date : 8 février 2008 Référence : utiliser une WebCam.doc Préambule Voici quelques informations utiles
SQL Historique 1982 1986 1992
SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse
TD2/TME2 : Ordonnanceur et Threads (POSIX et fair)
UE PC2R page 1/8 TD2/TME2 : Ordonnanceur et Threads (POSIX et fair) Exercice 1 (Modélisation) Chemin de Fer Cet exercice est dédié à l étude d un problème de circulation de trains : Voie! out1 in1 Voie!
Programmation Réseau SSH et TLS (aka SSL)
Programmation Réseau SSH et TLS (aka SSL) [email protected] Coloriages: François Armand [email protected] UFR Informatique 2011-2012 Réseau et Sécurité Problèmes
Programmation Classique en langage C
DI GALLO Frédéric Programmation Classique en langage C Cours du Cycle d Approfondissement CNAM ANGOULEME 2000-2001 DI GALLO Frédéric Page 1 01/04/01 PROGRAMMATION CLASSIQUE : LANGAGE C DI GALLO Frédéric
Les débordements de tampons et les vulnérabilités de chaîne de format 1
Les débordements de tampons et les vulnérabilités de chaîne de format 1 Patrice Lacroix Groupe LSFM Département d informatique et de génie logiciel Université Laval 18 décembre 2002 1 Cette recherche a
Langages et Concepts de Programmation Introduction à la programmation en langage C
Langages et Concepts de Programmation Introduction à la programmation en langage C Cours 1A 2013-2014 Jean-Jacques Girardot, Marc Roelens [email protected], [email protected] Septembre 2013 École Nationale
30.avr.10 Présentation miniprojet. 9.mars.10 Cours 3 4.mai.10 Cours C++ 1. 16.mars.10 Cours 4 11.mai.10 Cours C++ 2
2ème partie de cours: 23.fév.10 Cours 1 20.avr.10 TEST 24.fév.10 TP1 21.avr.10 miniprojet 26.fév.10 TP réserve 23.avr.10 miniprojet 2.mars.10 Cours 2 27.avr.10 Présentation miniprojet 3.mars.10 TP2 28.avr.10
Frequently Asked Questions
GS1 Canada-1WorldSync Partnership Frequently Asked Questions 1. What is the nature of the GS1 Canada-1WorldSync partnership? GS1 Canada has entered into a partnership agreement with 1WorldSync for the
Optimisation des performances et Parallélisme en C/C++ - openmp - MPI MPE - UPC - CUDA 1 / 118-op
Optimisation des performances et Parallélisme en C/C++ - openmp - MPI - UPC - CUDA -opencl http://www.ann.jussieu.fr/pironneau Olivier Pironneau 1 1 University of Paris VI, Laboratoire J.-L. Lions, [email protected]
Les processus légers : threads. Système L3, 2014-2015 1/31
Les processus légers : threads Système L3, 2014-2015 1/31 Les threads Les threads sont des processus légers exécutés à l intérieur d un processus L exécution des threads est concurrente Il existe toujours
Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.
Rational ClearCase or ClearCase MultiSite Version 7.0.1 Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite. Product Overview IBM Rational
Gestion de la mémoire
433 43 3 Gestion de la mémoire + 1. Qu'est-ce que la mémoire? - Définitions, exemples 2. Allocation contiguë en mémoire - Partitions de taille fixe, de taille variable 3. Pagination et mémoire virtuelle
