Compilation efficace d applications de traitement d images pour processeurs manycore

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

Download "Compilation efficace d applications de traitement d images pour processeurs manycore"

Transcription

1 Compilation efficace d applications de traitement d images pour processeurs manycore Soutenance de thèse Pierre Guillou mercredi 30 novembre 2016 MINES ParisTech, PSL Research University

2 Évolution des capacités de calcul /52

3 De nouvelles architectures Limitations des processeurs monocœurs fréquence d horloge bloquée depuis 2005 consommation d énergie systèmes embarqués utilisation efficace des transistors? Nouvelles architectures parallèles processeurs multicœurs GPGPUs processeurs manycores jusqu à 10 cœurs SIMD, cœurs cœurs The free lunch is over. Now welcome to the hardware jungle. Herb Sutter, /52

4 Les processeurs manycore : le MPPA de Kalray 256 cœurs de calcul, 10 W 2 générations : Andey (400 MHz), Bostan (600 MHz) 4/52

5 L architecture du processeur MPPA Cluster d E/S Machine hôte PCI-E 16 Go/s Cluster de calcul Cluster de calcul Cluster de calcul Cluster de calcul Cluster d E/S Cluster de calcul Cluster de calcul Cluster de calcul Cluster de calcul Cluster de calcul Cluster de calcul Cluster de calcul Cluster de calcul Cluster d E/S Mémoire locale (3 Go) DDR 13 Go/s Cluster de calcul Cluster de calcul Cluster de calcul Cluster de calcul Cluster d E/S 16 clusters (16 cœurs + 2 Mo) 5/52

6 Le traitement d images, un domaine innovant et dynamique 6/52

7 Une branche : la morphologie mathématique Propriétés géométriques détection, extraction Algèbre d opérateurs images réguliers, parallèles arithmétiques unaires & binaires «morphologiques» érosion, dilatation, convolution réductions min, max, somme 7/52

8 Application de traitement d images sûreté licenseplate : détection de plaque d immatriculation 8/52

9 Application de traitement d images santé retina : détection des lésions de la rétine 9/52

10 Difficultés du développement logiciel Applications matériels fonctionnalités matériels cibles optimisations temps de développement travail de portage fluidité, temps de réponse, autonomie Enjeux : les 3P programmabilité portabilité performance temps de développement, maintenance cibles matérielles temps d exécution, énergie 10/52

11 Classes d architectures et modèles de programmation Mémoire partagée distribuée MPI PGAS Flot de données OpenMP OpenCL kernels Pthreads OpenCL TPP Flot de données OpenCL 2.0 SVM homogène hétérogène Architecture 11/52

12 Plan 1 Méthodologie de recherche 2 I Le modèle OpenMP 3 II Le modèle flot de données 4 III Le modèle OpenCL 5 Quel modèle choisir? 6 Conclusions & Perspectives 12/52

13 Méthodologie de recherche

14 Méthodologie de recherche Sujet compilation efficace traitement d images architectures manycore 1 programme 3P utile, parallèle complexité vs. énergie Étude de cas le processeur manycore MPPA de Kalray le traitement d images par morphologie mathématique des langages de traitement d images (DSLs 3P) 13/52

15 Contributions principales Comparaisons expérimentales sur MPPA 3 modèles de programmation parallèle 2 générations de processeurs Preuve de la possibilité d atteindre les 3P développement d un environnement logiciel intégré regroupant plusieurs chaînes de compilation restreint au traitement d images 14/52

16 SMIL : Simple (but efficient) Morphological Image Library SMIL app.cpp SMIL app.py applications runtimes SMIL Python (wrapper Swig) SMIL lib matériels Processeurs multicœurs 15/52

17 Exemple de code SMIL import smilpython as smil imin = smil.image("input.png") imout = smil.image(imin) smil.gradient(imin, imout) imout.save("output.png") # lecture sur le disque # allocation de imout # gradient morphologique # écriture sur le disque 16/52

18 FREIA : FRamework for Embedded Image Applications DSL & API FREIA app.c Optimisations à la compilation applications runtimes FREIA common runtime Fulguro OpenCL SPoC Terapix matériels Processeurs multicœurs GPUs FPGAs 17/52

19 PIPS pour FREIA Compilateur source-à-source entrée DSL : code C + appels FREIA optimisations spécifiques traitement d images : décomposition des opérateurs complexes élimination des temporaires élimination des sous-expressions communes propagation des copies fusion d opérateurs sortie, génération de code : FREIA simplifié SPoC, Terapix (FPGAs) OpenCL Sigma-C 18/52

20 I Le modèle OpenMP

21 OpenMP, un modèle pour architectures à mémoire partagée Mémoire principale Cœur 0 Cœur 1 Cœur 2 Cœur 3 19/52

22 Addition de vecteurs en OpenMP void vecadd(float *a, float *b, float *c, const unsigned int n) { unsigned int i; #pragma omp parallel for for (i = 0; i < n; i++) c[i] = a[i] + b[i]; } 20/52

23 Environnement d exécution OpenMP : 1 cluster Processeur hôte Cluster E/S Cluster de calcul Application Lectures Écritures PCIe Transferts NoC Bibliothèque OpenMP 21/52

24 Portage SMIL sur 1 cluster MPPA SMIL bibliothèque C++, OpenMP CMake compilation croisée transferts avec l hôte mémoire très limitée : 2 Mo standard portage rapide 3 environnements imagettes 22/52

25 Évaluation : passage à l échelle de SMIL avec OpenMP Speedup (1 cluster) anr999 antibio burner deblocking licenseplate retina toggle GMEAN Nombre de threads OpenMP petites images 23/52

26 Bibliothèque OpenMP sur MPPA SMIL MPPA portage direct et rapide 1 cluster de calcul / 16 environnements d exécution passage à l échelle limitations mémoire compilation croisée modèle mémoire transferts de données imagettes mixer avec des communications inter-clusters réduire l empreinte mémoire 24/52

27 II Le modèle flot de données

28 Le flot de données vol < w1_0 Le modèle et les langages imin D8 E8 E8 E8 E8 w2 graphe producteurs/consommateurs années 1970 adapté aux exigences industrielles adapté aux architectures parallèles KPN Lustre/SCADE StreamIt Sigma-C, un langage flot de données développé pour le MPPA CEA List Andey, Bostan 25/52

29 Agents Sigma-C entrée 0 sortie entrée 1 Agent interleave agent interleave() { interface { in<int> in0, in1; out<int> out0; spec{ in0[2], in1, out0[3] }; } void start() exchange(in0 i0[2], in1 i1, out0 o[3]) { o[0] = i0[0], o[1] = i1, o[2] = i0[1]; } } 26/52

30 Subgraphs Sigma-C Agent 2 Agent 4 Agent 1 Agent 5 Subgraph 3 Subgraph bar subgraph bar() { interface { in<int> in0[2]; out<int> out0, out1; spec { { in0[][3]; out0 }; { out1[2] } }; } map { agent a1 = new Agent1(); agent a3 = new Subgraph3(); connect(in0[0], a1.input0); connect(a5.output, out1); connect(a1.output0, a2.input); connect(a3.output, a5.input1); } } 27/52

31 Conversion de FREIA en Sigma-C À partir de code FREIA séquentiel freia_aipo_threshold(im1, im0, 50, 150, true); // arithmétique freia_aipo_erode_8c(im2, im1, kernel); // morphologique freia_aipo_dilate_8c(im3, im2, kernel); // morphologique Générer automatiquement des subgraphs Sigma-C subgraph foo() { int16_t kernel[9] = {0,1,0, 0,1,0, 0,1,0};... agent thr = new img_threshold_img(); agent ero = new img_erode(kernel); agent dil = new img_dilate(kernel);... connect(thr.output, ero.input); connect(ero.output, dil.input);... thr im1 ero im2 dil } im0 im3 28/52

32 Contraintes sur les applications Sigma-C Agents 1 agent 1 cœur de calcul 2 Mo pour 16 cœurs coût d itération fixe utilisation partielle mem(1 agent) 128 ko grouper les pixels par lignes Graphes débit : nœud le plus lent équilibrage fusion/fission placement : communications inter-clusters peu de clusters temps d activation constant gros graphes 29/52

33 Fusion des opérateurs arithmétiques ero +1 dil /2 30/52

34 Fusion des opérateurs arithmétiques ero dil (_ + 1) (_/2) 30/52

35 Optimisation : réduction des communications void freia_cipo_geodesic_reconstruct(freia_data2d *immarker, freia_data2d *immask) { int32_t volcurrent, volprevious; freia_global_vol(immarker, &volcurrent); do { volprevious = volcurrent; freia_dilate(immarker, immarker); freia_inf(immarker, immarker, immask); freia_global_vol(immarker, &volcurrent); } while (volcurrent!= volprevious); } pas de boucle dynamique en Sigma-C while sur hôte reconstruction géodésique : suite stationnaire d itérations = déroulement partiel 31/52

36 Chaîne de compilation FREIA Sigma-C FREIA app.c compilateur source-à-source code de contrôle subgraphs Sigma-C bibliothèque d agents Sigma-C compilateur hôte compilateur Kalray binaire de contrôle sur hôte binaires de calcul sur accélérateur 32/52

37 Environnement d exécution Sigma-C Code de contrôle Agents Sigma-C hôte Clusters E/S Clusters de calcul lecture écriture traitement 1 envoi lancement calcul réception Unix pipes transfert transfert transfert PCIe envoi réception NoC traitement i écriture lecture traitement n 33/52

38 Évaluation : Sigma-C sur multicœur et MPPA Speedups Sigma-C sur i7 Sigma-C sur MPPA 0 anr999 antibio burner deblocking licenseplate retina toggle GMEAN 34/52

39 Flot de données et processeurs manycore vol FREIA Sigma-C MPPA bibliothèque d opérateurs imin D8 E8 E8 < E8 w1_0 E8 w2 compilation source-à-source FREIA Sigma-C environnement d exécution pour E/S optimisations pour le processeur MPPA Résultats modèle strict compilation automatique bonnes performances sur MPPA publication LCPC 2014 morceaux d applications 3P malgré usage partiel 35/52

40 III Le modèle OpenCL

41 Modèles pour architectures hétérogènes OpenCL Host Processing Element Compute Unit Compute Device 36/52

42 Addition de vecteurs en OpenCL : noyau de calcul kernel void vecadd( global float *a, global float *b, global float *c, const unsigned int n) { unsigned int id = get_global_id(0); } if (id < n) c[id] = b[id] + a[id]; 37/52

43 Addition de vecteurs en OpenCL : code hôte // Initializations clgetplatformids(1, &cpplatform, NULL); clgetdeviceids(cpplatform, CL_DEVICE_TYPE_GPU, 1, &device_id, NULL); ctx = clcreatecontext(0, 1, &device_id, NULL, NULL, &err); q = clcreatecommandqueue(ctx, device_id, 0, &err); // Create the compute program from the source buffer prgm = clcreateprogramwithsource(ctx, 1, (const char **)&kernelsource, NULL, &err); clbuildprogram(prgm, 0, NULL, NULL, NULL, NULL); // Create the compute kernel in the program we wish to run knl = clcreatekernel(prgm, "vecadd", &err); // Create the input and output arrays in device memory d_a = clcreatebuffer(ctx, CL_MEM_READ_ONLY, bytes, NULL, NULL); d_b = clcreatebuffer(ctx, CL_MEM_READ_ONLY, bytes, NULL, NULL); d_c = clcreatebuffer(ctx, CL_MEM_WRITE_ONLY, bytes, NULL, NULL); // Write our data set into the input array in device memory err = clenqueuewritebuffer(q, d_a, CL_TRUE, 0, bytes, h_a, 0, NULL, NULL); err = clenqueuewritebuffer(q, d_b, CL_TRUE, 0, bytes, h_b, 0, NULL, NULL); // Set the arguments to our compute kernel err = clsetkernelarg(knl, 0, sizeof(cl_mem), &d_a); err = clsetkernelarg(knl, 1, sizeof(cl_mem), &d_b); err = clsetkernelarg(knl, 2, sizeof(cl_mem), &d_c); err = clsetkernelarg(knl, 3, sizeof(unsigned int), &n); // Execute the kernel over the entire range of the data set err = clenqueuendrangekernel(q, knl, 1, NULL, &globalsize, &localsize, 0, NULL, NULL); clfinish(q); // Read the results from the device clenqueuereadbuffer(q, d_c, CL_TRUE, 0, bytes, h_c, 0, NULL, NULL); 38/52

44 Chaîne de compilation FREIA OpenCL FREIA app.c compilateur source-à-source FREIA app'.c code de contrôle kernels OpenCL générés compilateur hôte compilateur accélérateur binaire de contrôle sur hôte binaires de calcul sur accélérateur 39/52

45 OpenCL sur le MPPA, multicœur et GPU : temps d exécution 10 2 Bostan i7 Quadro 600 Tesla C 2050 ns/#op/pixel anr999 antibio burner deblocking licenseplate retina toggle GMEAN 40/52

46 OpenCL sur le MPPA, multicœur et GPU : énergie 10 3 Bostan i7 Quadro 600 Tesla C 2050 nj/#op/pixel anr999 antibio burner deblocking licenseplate retina toggle GMEAN 41/52

47 Le modèle OpenCL OpenCL MPPA modèle répandu E/S gérées par le modèle support partiel d OpenCL évolutions de la pile logicielle performances à améliorer accès à la mémoire globale? à éviter actuellement sur MPPA pour ce type d applications 42/52

48 Quel modèle choisir?

49 Andey vs. Bostan : OpenMP sur 1 cluster 40 Speedups Andey (OpenMP 1 thread) Andey (OpenMP 16 threads) Bostan (OpenMP 1 thread) Bostan (OpenMP 16 threads) 0 anr999 antibio burner deblocking licenseplate retina toggle GMEAN 43/52

50 OpenCL sur MPPA : Andey vs. Bostan 2 Andey (OpenCL) Bostan (OpenCL) Speedups anr999 antibio burner deblocking licenseplate retina toggle GMEAN 44/52

51 Le meilleur modèle de programmation sur MPPA? 10 2 OpenMP (Bostan 1 cluster) OpenCL (Bostan) Sigma-C (Andey) Speedups anr999 antibio burner deblocking licenseplate retina toggle GMEAN 45/52

52 Comparaison des modèles Modèle Avantages Inconvénients OpenMP Sigma-C OpenCL répandu 16 cœurs sur 256 portage rapide mémoire : 2 Mo (code, données) transferts depuis l hôte performant communications répandu portage rapide trop statique contrôle hôte nouveau langage abandonné implémentation en cours accès mémoire performances? OpenMP 256 cœurs tuilage + IPC performances? communications 46/52

53 Comparaison avec d autres accélérateurs nj/#op/pixel Sigma-C (Andey) SPoC SMIL (i7) Quadro 600 Tesla C 2050 anr999 antibio burner deblocking licenseplate retina toggle GMEAN 47/52

54 Conclusions & Perspectives

55 Contributions principales Comparaisons expérimentales sur MPPA 3 modèles de programmation parallèle 2 générations de processeurs Preuve de la possibilité d atteindre les 3P développement d un environnement logiciel intégré regroupant plusieurs chaînes de compilation restreint au traitement d images publication CPC /52

56 Les piles logicielles SMIL et FREIA SMIL app.py smiltofreia FREIA app.c Optimisations à la compilation SMIL Python Swig wrapper FREIA common runtime applications runtimes smilc SMIL lib Fulguro Sigma-C OpenCL SPoC Terapix matériels Processeurs multicœurs Processeurs manycore GPUs FPGAs 49/52

57 Environnement logiciel : freiacc 1 app 3P FREIA app.c SMIL app.py Programmabilité? Performance freiacc Portabilité SMIL Sigma-C OpenCL SPoC/Terapix Processeurs multicœurs MPPA GPUs FPGAs 50/52

58 Perspective : autre modèle pour le MPPA Objectif : utiliser tous les cœurs du MPPA OpenMP sur les clusters en C : réécriture des noyaux environnement d exécution : transferts, tuilage, recouvrements communications inter-clusters (à la MPI) optimisations via PIPS (fusion d opérateurs, etc.) Processeur hôte Cluster E/S Clusters de calcul Application Noyaux OpenMP Lectures Écritures Runtime Noyaux OpenMP Noyaux OpenMP 51/52

59 Perspective : DSLs et nouvelles architectures Le processeur MPPA potentiel embarqué vs. complexité architecturale ok! mémoire : taille SMEM, accès DDR Traitement d image portage d algorithmes non locaux segmentation Langages spécifiques à un domaine DSLs 3P : programmabilité, portabilité, performance normalisation, basés sur des langages généralistes 52/52

60 Compilation efficace d applications de traitement d images pour processeurs manycore Soutenance de thèse Pierre Guillou mercredi 30 novembre 2016 MINES ParisTech, PSL Research University

61 Bibliographie personnelle I Pierre Guillou. Compilation d applications de traitement d images sur architecture MPPA-Manycore. Conférence d informatique en Parallélisme, Architecture et Système (ComPAS 2014). Poster. Avr url : Pierre Guillou. Compiling Image Processing Applications for Many-Core Accelerators. ACACES Summer School : Eleventh International Summer School on Advanced Computer Architecture and Compilation for High-Performance and Embedded Systems. Poster. Juil url :

62 Bibliographie personnelle II Pierre Guillou. smilc : A C wrapper for SMIL. url : Pierre Guillou, Fabien Coelho et François Irigoin. «Languages and Compilers for Parallel Computing : 27th International Workshop, LCPC 2014, Hillsboro, OR, USA, September 15-17, 2014, Revised Selected Papers». In : sous la dir. de James Brodman et Peng Tu. Cham : Springer International Publishing, Chap. Automatic Streamization of Image Processing Applications, p isbn : doi : / _15. url :

63 Bibliographie personnelle III Pierre Guillou et al. «A Dynamic to Static DSL Compiler for Image Processing Applications». In : 19th Workshop on Compilers for Parallel Computing. Valladolid, Spain, juil url : Nelson Lossing, Pierre Guillou et François Irigoin. «Effects Dependence Graph : A Key Data Concept for C Source-to-Source Compilers». In : 2016 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM) (oct. 2016). Benoît Pin, Pierre Guillou et Fabien Coelho. smiltofreia : A SMIL Python to FREIA C compiler. url :

Introduction au calcul parallèle avec OpenCL

Introduction au calcul parallèle avec OpenCL Introduction au calcul parallèle avec OpenCL Julien Dehos Séminaire du 05/01/2012 Sommaire Introduction Le calculateur du CGR/LISIC/LMPA Généralités sur OpenCL Modèles Programmation Optimisation Conclusion

Plus en détail

Sanity Check. bgcolor mgcolor fgcolor

Sanity Check. bgcolor mgcolor fgcolor Sanity Check bgcolor mgcolor fgcolor 0 1 2 3 4 5 6 7 8 9 10 Compilation pour cibles hétérogènes: automatisation des analyses, transformations et décisions nécessaires, François Irigoin et Ronan Keryell

Plus en détail

Introduction au langage C

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

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

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle 1 CEA R & D for Nuclear Energy 5 000 people Nuclear systems

Plus en détail

Génération de code binaire pour application multimedia : une approche au vol

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

Plus en détail

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Plus en détail

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

IRL : Simulation distribuée pour les systèmes embarqués

IRL : Simulation distribuée pour les systèmes embarqués IRL : Simulation distribuée pour les systèmes embarqués Yassine El Khadiri, 2 ème année Ensimag, Grenoble INP Matthieu Moy, Verimag Denis Becker, Verimag 19 mai 2015 1 Table des matières 1 MPI et la sérialisation

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

Plus en détail

Analyse de sécurité de logiciels système par typage statique

Analyse de sécurité de logiciels système par typage statique Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Introduction à CUDA. gael.guennebaud@inria.fr

Introduction à CUDA. gael.guennebaud@inria.fr 36 Introduction à CUDA gael.guennebaud@inria.fr 38 Comment programmer les GPU? Notion de kernel exemple (n produits scalaires): T ci =ai b ( ai, b : vecteurs 3D, ci for(int i=0;i

Plus en détail

OpenPaaS Le réseau social d'entreprise

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

Plus en détail

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique Architecture d ordinateur : introduction Dimitri Galayko Introduction à l informatique, cours 1 partie 2 Septembre 2014 Association d interrupteurs: fonctions arithmétiques élémentaires Elément «NON» Elément

Plus en détail

Introduction à MapReduce/Hadoop et Spark

Introduction à MapReduce/Hadoop et Spark 1 / 36 Introduction à MapReduce/Hadoop et Spark Certificat Big Data Ludovic Denoyer et Sylvain Lamprier UPMC Plan 2 / 36 Contexte 3 / 36 Contexte 4 / 36 Data driven science: le 4e paradigme (Jim Gray -

Plus en détail

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/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

Plus en détail

Limitations of the Playstation 3 for High Performance Cluster Computing

Limitations of the Playstation 3 for High Performance Cluster Computing Introduction Plan Limitations of the Playstation 3 for High Performance Cluster Computing July 2007 Introduction Plan Introduction Intérêts de la PS3 : rapide et puissante bon marché L utiliser pour faire

Plus en détail

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 5 (June 2013), PP.99-103 Solution A La Gestion Des Objets Java Pour Des

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

Tests de performance du matériel

Tests de performance du matériel 3 Tests de performance du matériel Après toute la théorie du dernier chapitre, vous vous demandez certainement quelles sont les performances réelles de votre propre système. En fait, il y a plusieurs raisons

Plus en détail

Règles et paramètres d'exploitation de Caparmor 2 au 11/12/2009. Pôle de Calcul Intensif pour la mer, 11 Decembre 2009

Règles et paramètres d'exploitation de Caparmor 2 au 11/12/2009. Pôle de Calcul Intensif pour la mer, 11 Decembre 2009 Règles et paramètres d'exploitation de Caparmor 2 au 11/12/2009 Pôle de Calcul Intensif pour la mer, 11 Decembre 2009 CAPARMOR 2 La configuration actuelle Les conditions d'accès à distance règles d'exploitation

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

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

Plus en détail

Initiation. àl algorithmique et à la programmation. en C

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,

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

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

Plus en détail

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5 Modélisation de la performance et optimisation d un algorithme hydrodynamique de type Lagrange-Projection sur processeurs multi-cœurs T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet

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

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

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

WEA Un Gérant d'objets Persistants pour des environnements distribués

WEA Un Gérant d'objets Persistants pour des environnements distribués Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et

Plus en détail

MAC-TC: programmation d un plate forme DSP-FPGA

MAC-TC: programmation d un plate forme DSP-FPGA MAC-TC: programmation d un plate forme DSP-FPGA Tanguy Risset avec l aide de: Nicolas Fournel, Antoine Fraboulet, Claire Goursaud, Arnaud Tisserand - p. 1/17 Plan Partie 1: le système Lyrtech Introduction

Plus en détail

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

Plus en détail

Certificat Big Data - Master MAthématiques

Certificat Big Data - Master MAthématiques 1 / 1 Certificat Big Data - Master MAthématiques Master 2 Auteur : Sylvain Lamprier UPMC Fouille de données et Medias Sociaux 2 / 1 Rich and big data: Millions d utilisateurs Millions de contenus Multimedia

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

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations des SGBDR. Étude de cas : MySQL Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique

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

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture API04 Contribution Apache Hadoop: Présentation et application dans le domaine des Data Warehouses Introduction Cette publication a pour but de présenter le framework Java libre Apache Hadoop, permettant

Plus en détail

Evaluation des performances de programmes parallèles haut niveau à base de squelettes algorithmiques

Evaluation des performances de programmes parallèles haut niveau à base de squelettes algorithmiques Evaluation des performances de programmes parallèles haut niveau à base de squelettes algorithmiques (bourse EPSRC numéro GR/S21717/01) Enhancing the Perf. Predictability of Grid Appli. with Patterns and

Plus en détail

Cours 7 : Programmation d une chaîne d acquisition

Cours 7 : Programmation d une chaîne d acquisition Cours 7 : Programmation d une chaîne d acquisition 4 Concepts 4 Programmation Cible Pentium : Langages de haut niveau Langage graphique G sous LabView + librairies de VI ; Langage C + librairies de fonctions

Plus en détail

Grid Technology. ActiveMQ pour le grand collisionneur de hadrons (LHC) Lionel Cons Grid Technology Group Information Technology Department

Grid Technology. ActiveMQ pour le grand collisionneur de hadrons (LHC) Lionel Cons Grid Technology Group Information Technology Department DB GT CF Grid ActiveMQ pour le grand collisionneur de hadrons (LHC) Lionel Cons Grid Group Information Department Journée de la communauté FUSE, Paris, 2010 CERN IT Department CH-1211 Geneva 23 Switzerland

Plus en détail

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit. Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide

Plus en détail

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

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

Initiation au HPC - Généralités

Initiation au HPC - Généralités Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours

Plus en détail

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing Présentation d Oracle 10g Chapitre VII Présentation d ORACLE 10g 7.1 Nouvelles fonctionnalités 7.2 Architecture d Oracle 10g 7.3 Outils annexes 7.4 Conclusions 7.1 Nouvelles fonctionnalités Gestion des

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

Plus en détail

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Communication inter-processus (IPC) : tubes & sockets exemples en C et en Java F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Java : implémentation

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

Ordonnancement sous contraintes de Qualité de Service dans les Clouds

Ordonnancement sous contraintes de Qualité de Service dans les Clouds Ordonnancement sous contraintes de Qualité de Service dans les Clouds GUÉROUT Tom DA COSTA Georges (SEPIA) MONTEIL Thierry (SARA) 05/12/2014 1 Contexte CLOUD COMPUTING Contexte : Environnement de Cloud

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Vers du matériel libre

Vers du matériel libre Février 2011 La liberté du logiciel n est qu une partie du problème. Winmodems Modem traditionnel Bon fonctionnement Plus cher Electronique propriétaire Blob sur DSP intégré au modem Bien reçu par les

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

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

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

Plus en détail

Séminaire RGE REIMS 17 février 2011

Séminaire RGE REIMS 17 février 2011 Séminaire RGE REIMS 17 février 2011 ADACSYS Présentation des FPGA Agenda Spécificité et différences par rapport aux autres accélérateurs Nos atouts Applications Approche innovante Document confidentiel

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Evaluation des performances de programmes parallèles haut niveau à base de squelettes Evaluation des performances de programmes parallèles haut niveau à base de squelettes Enhancing the Performance Predictability of Grid Applications with Patterns and Process Algebras A. Benoit, M. Cole,

Plus en détail

Composants génériques de calcul scientifique

Composants génériques de calcul scientifique Composants génériques de calcul scientifique T. Géraud et A. Duret-Lutz RAPPORT TECHNIQUE 9901 MARS 1999 Laboratoire de Recherche et Développement d EPITA 14-16, rue Voltaire 94276 Le Kremlin-Bicêtre cedex

Plus en détail

Rapport d activité. Mathieu Souchaud Juin 2007

Rapport d activité. Mathieu Souchaud Juin 2007 Rapport d activité Mathieu Souchaud Juin 2007 Ce document fait la synthèse des réalisations accomplies durant les sept premiers mois de ma mission (de novembre 2006 à juin 2007) au sein de l équipe ScAlApplix

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

Application de K-means à la définition du nombre de VM optimal dans un cloud

Application de K-means à la définition du nombre de VM optimal dans un cloud Application de K-means à la définition du nombre de VM optimal dans un cloud EGC 2012 : Atelier Fouille de données complexes : complexité liée aux données multiples et massives (31 janvier - 3 février

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

Quantification d incertitude et Tendances en HPC

Quantification d incertitude et Tendances en HPC Quantification d incertitude et Tendances en HPC Laurence Viry E cole de Physique des Houches 7 Mai 2014 Laurence Viry Tendances en HPC 7 Mai 2014 1 / 47 Contents 1 Mode lisation, simulation et quantification

Plus en détail

pythonocc: une plateforme de développement agile d applications CAO.

pythonocc: une plateforme de développement agile d applications CAO. pythonocc: une plateforme de développement agile d applications CAO. PyConFR 2009 Cité des Sciences et de l Industrie, Paris Thomas Paviot*, Jelle Feringa* *pythonocc project: tpaviot@gmail.com; jelleferinga@gmail.com

Plus en détail

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 4 : Fonctions La construction de fonctions dans un langage de programmation permet aux

Plus en détail

Programmation système I Les entrées/sorties

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

Plus en détail

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation. Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local

Plus en détail

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996] Mesure de performances [Architecture des ordinateurs, Hennessy & Patterson, 1996] Croissance des performances des microprocesseurs Avant le milieu des années 80, le gain dépendait de la technologie. Après,

Plus en détail

OS Réseaux et Programmation Système - C5

OS Réseaux et Programmation Système - C5 OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah rabie.benatitallah@univ-valenciennes.fr RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement

Plus en détail

Une méthode de conception de systèmes sur puce

Une méthode de conception de systèmes sur puce École thématique ARCHI 05 Une méthode de conception de systèmes sur puce (de l intégration d applications) Frédéric PÉTROT Laboratoire TIMA Institut National Polytechnique de Grenoble Frédéric Pétrot/TIMA/INPG

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Rapport 2014 et demande pour 2015. Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

Rapport 2014 et demande pour 2015. Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121 Rapport 2014 et demande pour 2015 Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121 Rappel sur Méso-NH : Modélisation à moyenne échelle de l atmosphère

Plus en détail

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable Pierre Olivier*, Jalil Boukhobza*, Jean-Philippe Babau +, Damien Picard +, Stéphane Rubini + *Lab-STICC, + LISyC, Université

Plus en détail

Langage C. Patrick Corde. Patrick.Corde@idris.fr. 22 juin 2015. Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289

Langage C. Patrick Corde. Patrick.Corde@idris.fr. 22 juin 2015. Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289 Langage C Patrick Corde Patrick.Corde@idris.fr 22 juin 2015 Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289 Table des matières I 1 Présentation du langage C Historique Intérêts

Plus en détail

Grégoire de Lassence. Copyright 2006, SAS Institute Inc. All rights reserved.

Grégoire de Lassence. Copyright 2006, SAS Institute Inc. All rights reserved. Grégoire de Lassence 1 Grégoire de Lassence Responsable Pédagogie et Recherche Département Académique Tel : +33 1 60 62 12 19 gregoire.delassence@fra.sas.com http://www.sas.com/france/academic SAS dans

Plus en détail

La Forge INRIA : bilan et perspectives. Hervé MATHIEU - 11 mai 2010

La Forge INRIA : bilan et perspectives. Hervé MATHIEU - 11 mai 2010 1 La Forge INRIA : bilan et perspectives Hervé MATHIEU - 11 mai 2010 Le plan 2 La Forge (Quoi, Quand, Comment) Les chiffres de la Forge INRIA Un exemple de projet Bilan/Perspectives Conclusion Qu'est ce

Plus en détail

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7 Cahier des charges driver WIFI pour chipset Ralink RT2571W sur hardware ARM7 RevA 13/03/2006 Création du document Sylvain Huet RevB 16/03/2006 Fusion des fonctions ARP et IP. SH Modification des milestones

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

ERESI : une plate-forme d'analyse binaire au niveau noyau. The ERESI team http://www.eresi-project.org

ERESI : une plate-forme d'analyse binaire au niveau noyau. The ERESI team http://www.eresi-project.org ERESI : une plate-forme d'analyse binaire au niveau noyau The ERESI team http://www.eresi-project.org ERESI: quelques rappels 7 années de développement Plusieurs contributeurs 5 logiciels, 14 bibliothèques

Plus en détail

CH.3 SYSTÈMES D'EXPLOITATION

CH.3 SYSTÈMES D'EXPLOITATION CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

Thomas Loubrieu (Ifremer) Small to Big Data. http://wwz.ifremer.fr/bigdata. 26 Novembre 2013, Ifremer, Brest

Thomas Loubrieu (Ifremer) Small to Big Data. http://wwz.ifremer.fr/bigdata. 26 Novembre 2013, Ifremer, Brest Thomas Loubrieu (Ifremer) Small to Big Data 26 Novembre 2013, Ifremer, Brest http://wwz.ifremer.fr/bigdata Small to Big data IFREMER/IDM/ISI T. Loubrieu Résumé A partir d'expériences en gestion de données

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Décoder la relation entre l architecture et les applications Violaine Louvet, Institut Camille Jordan CNRS & Université Lyon 1 Ecole «Découverte du Calcul» 2013 1 / 61 Simulation numérique... Physique

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

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 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

Plus en détail

Création et Gestion des tables

Création et Gestion des tables Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5

Plus en détail

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université

Plus en détail

Machines Virtuelles. et bazard autour. Rémi Forax

Machines Virtuelles. et bazard autour. Rémi Forax Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]

Plus en détail