Compilation efficace d applications de traitement d images pour processeurs manycore
|
|
- Clarisse Larocque
- il y a 7 ans
- Total affichages :
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 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étailSanity 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étailIntroduction 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étailUne 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étailContrô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étailGé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étailMapReduce. 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étailEPREUVE 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étailSuivant 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étailIRL : 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étailUE 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étailDE 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étailAnalyse 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étailPlan 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étailTable 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étailINITIATION 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étailIntroduction à 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étailOpenPaaS 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étailHié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étailIntroduction à 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étail1/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étailLimitations 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étailSolution 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étail1. 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étailTests 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étailRè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étailProgrammation 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étailInitiation. à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étailIntroduction à 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étailT. 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étailExclusion 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étailas 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étailLa 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étailStructure 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étailTP 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étailWEA 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étailMAC-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étail03/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étailCertificat 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étailConventions 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étailOptimisations 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étailProblè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étailInformatique 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étailAPI04 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étailEvaluation 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étailCours 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étailGrid 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étailConditions : 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étailIntroduction à 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étailLicence 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étailInitiation 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étailPerformances. 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étailGrandes 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étailTutoriel: 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étailCommunication 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étailJava 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étailOrdonnancement 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étailTP1 : 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étailVers 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étailAlgorithmique 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étailJava 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étailARDUINO 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étailSé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étailINTRODUCTION 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étailEvaluation 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étailComposants 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étailRapport 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étailM2-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étailApplication 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étailProgrammer 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étailInfo0101 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étailCours 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étailQuantification 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étailpythonocc: 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étail1 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étailProgrammation 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étailUniversité 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étailMesure 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étailOS 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étailUne 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étailIV- 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étailRapport 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étailImplé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étailLangage 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étailGré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étailLa 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étailCahier 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étail6 - 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étailUEO11 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étailERESI : 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étailCH.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étailCours 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étailThomas 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étailArchitecture 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étailCOMMANDES 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étailCours 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étailCré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étailIntroduction à 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étailMachines 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