Groupe calcul parallèle

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

Download "Groupe calcul parallèle"

Transcription

1 Groupe calcul parallèle «Exploiter le potentiel des nouvelles architectures» Vincent Lafage Luz Guevara Ivana Hrivnacova Christophe Diarra Contact :Luz Guevara Tel : 54463

2 Plan Nouvelles architectures des ordinateurs et la nécessité de paralléliser. Calcul par GPU Les concepts de base de la programmation parallèle Programmation avec MPI La parallélisation dans ROOT et Geant4 Les ressources informatiques disponibles au laboratoire et leur utilisation Programmation avec openmp

3 Groupe Parallèle du S2I ou pourquoi paralléliser? Vincent C. Lafage 1 D2I, Institut de Physique Nucléaire Université d Orsay 20 décembre / 12

4 Pourquoi paralléliser? Loi de Moore depuis 1971 : le nombre de transistors sur un circuit intégré double tous les deux ans µm, nm + de registres + de mémoire cache + d instructions processeurs + de taille de bus (de 4 bits à 64 bits) + de gestion de la mémoire (MMU) + d unités de calcul (un, plusieurs FPU, ALU vectorielle ) + d étages de pipeline (superscalaires cf Pentium ca 1993) / 12

5 Pourquoi paralléliser?... doublement de la fréquence tous les 2 ans, 2 ans et demi? Vrai depuis 1980 Plus depuis 2004!!! Pentium 4 : 3 GHz on attend entre 16 et 32 fois plus, > 50 GHz!!! P = C.V 2.f W 2,5 kw!!! Trop d énergie à dissiper! plusieurs processeurs sur un même circuit : plusieurs cœurs / 12

6 Pourquoi paralléliser? pour continuer à bénéficier de la puissance croissance de la technologie, pas d autre solutions que la programmation parallèle : coordonner le travail des différents cœurs alors qu on nous a toujours enseigné l aspect essentiellement séquentiel de la programmation! / 12

7 Pourquoi paralléliser? les nouvelles technologies consomment une part croissante d une énergie rare & chère. 1,6 Megawatts informatiques dans la première salle du Centre de Calcul de l IN2P3 : 0,5 à 1 M évolution vers un meilleur ratio W/MIPS ou W/MFLOPS : Intel XScale, 600 MHz, 0,5 W 5 fois plus lent, 80 fois plus économe! diminuer la fréquence, vu qu il y aura plus de coeurs / 12

8 Comment paralléliser? c est un paradigme de programmation complémentaire des approches classiques : procédural, modulaire, générique, objet. et qui s appuie sur différentes technologies matérielles également pipeline (DSP) vectorisation (SIMD) parallèlisation par processus (lourds) assez indépendants parallèlisation par processus légers (threads = fils) partageant l espace d un même processus : économie de mémoire distribution (parallèlisation par processus tournant sur des machines différentes) / 12

9 GPU :Graphics Processing Unit rendu 3D, gestion de mémoire vidéo, traitement du signal vidéo, filtrage, décompression Mpeg cœurs de CPU : très (trop?) complexe, gourmand 2 nj/flop GPU : dédié 200 pj/flop centaines de cœurs : Multicore Many-cores CUDA PGI Fortran OpenCL / 12

10 exemple : MonteCarlo une grande boucle.1 on choisit un point au hasard dans l espace des configuration.2 on calcule certaines grandeurs associées à cette configuration sa section efficace différentielle : sa probabilité d apparition M 2 le poids de cette configuration dans l espace des phase invariant de Lorentz les énergies & les angles d émergence des particules sortantes dans le référentiel du laboratoire et du CM.3 si la configuration répond aux contraintes d observation expérimentales («coupures») on la garde, sinon on la jette. Si on la garde, on doit empiler sa contribution dans différentes variables : section efficace totale / 12

11 exemple : MonteCarlo simple? A goulet (bottleneck) au point 3 B goulet au point 1 : le générateur pseudo-aléatoire de base est avant tout séquentiel, et plusieurs instances doivent être sur des séquences bien distinctes pour que la Méthode de Monte-Carlo soit utile. C point 2? pas innocent... expliquer aux différents threads que le COMMON n est pas commun / 12

12 exemple : MonteCarlo découper la grande boucle avant de la distribuer : tour de boucle à 20 µs / événement pas rentable! + tour de boucle à 200 ms / 10 k.événement / 12

13 Conclusion + beaucoup de perspectives pour les anciens codes......et pour les nouveaux + beaucoup de solutions pas si évident demandez-nous conseil! d abord, optimiser : / 12

14 Merci de votre attention questions? : / 12

15 Programmation sequentielle et parallèle La programmation sequentielle est le paradigme de programmation traditionellement utilisé. Un problème est decomposé en une sequence d'operations : un seul processeur central (CPU) exécute les instructions La programmation parallèle implique l exécution de plusieurs instructions simultanément: plusieurs processeurs exécutent les instructions le problème est découpé en plusieurs sousproblèmes qui peuvent être traités de façon concurrente instructions exécutées les unes après les autres une seule instruction à la fois chaque sous-problème ou ensemble des insructions est executé sur une unité de calcul.

16 Modèles de programmation parallèle Il existe plusieurs modèles de programmation parallèle d'usage courant: Mémoire partagée Threads Passage de message Données parallèles Hybride Modèles de programmation parallèles existent comme une abstraction au-dessus des architectures matérielles et de la mémoire.

17 Modèle Threads Un thread peut être considéré comme un sousprogramme dans le programme principal Le programme principal acquiert les ressources nécessaires à l'exécution du programme et après un peu de travail sequentiel il va créer un certain nombre de threads qui peuvent être planifiées et gérées par le système d'exploitation de façon concurrente. Les threads communiquent les uns avec les autres à travers la mémoire globale. Cela nécessite des constructions de synchronisation Chaque thread dispose des données locales et aussi partage l'ensemble des réssources du programme principal Souvent associé aux architectures à mémoire partagé et les systèmes d'exploitation Threads POSIX ou pthreads OpenMP Christophe Gean 4, ROOT Ivanna

18 Modèle par passage de message Le programme est dupliqué sur plusieurs processus Chaque processus exécute éventuellement des parties différentes du même programme. Toutes les variables du programme sont privées et résident dans la mémoire locale allouée à chaque processus Les tâches échangent des données grâce à des communications en envoyant et recevant des messages. Souvent associé aux architectures à mémoire distribuée. MPI : OpenMPI, MPICH

19 Message-Passing Interface Interface de passage de messages MPI est une spécification pour les développeurs et les utilisateurs des bibliothèques de passage de message. Utilisable depuis C, C++, Fortran77/90/95. Définit un ensemble d'appels standard de la bibliothèque. La communication des données par passage de message : Permet le travail en commun des processus pour résoudre un problème Les données sont décomposés (split) en plusieurs parties Chaque processus gère une partie séparée sur son propre processeur MPI permet de gérer : l environnement d exécution les communications point à point (Send, Recv) les communications collectives (Bcast, Scatter, Gather, ) les groupes de processus et des communicateurs la topologie d inter-connexion des processus (grilles, tore, arbre, => notion de voisinage)

20 Principe d un programme MPI On écrit un programme contenant les opérations locales + les échanges via MPI (initialisation et échanges). On compile avec mpicc monprog.c -o monprog On lance par mpirun machinefile filename -np n monprog n=nombre de processus La liste des machines peut être définie explicitement MPI crée n copies de l exécutable sur les machines cibles Exécution asynchrone des processus (+synchro sur échange messages) Terminaison des processus

21 Environnement système Pour utiliser MPI : Appel au module MPI : «include mpif.h» en fortran77. «use MPI» fortran90 «include mpi.h» en C/C++. L'initialisation de l'environnement via MPI_Init crée le communicateur par default MPI_COMM_WORLD. Environnement initialise = processus actifs + espace de communication La désactivation de l'environement via l'appele a la subroutine MPI_FINALIZE MPI_Init et MPI_Finalize sont des fonction collectives! (appelée par tous les processus) #include <stdlib.h> #include <mpi.h> #include <math.h> /************************************************************ This is a simple send/receive program in MPI ************************************************************/ int main(int argc, char *argv[]) { int myid, numprocs; int tag,source,destination,count; int buffer; MPI_Status status; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid);... MPI_Finalize(); return 0; }

22 Communications point à point Une communication dite point à point a lieu entre deux processus, qui par l'intermédiaire des messages, s'envoie des données. Structure d'un message MPI En plus des données, le message contient une ''enveloppe'' qui est constitué de plusieurs champs: Source: rang du processus qui envoie. Destination: rang du processus qui reçoit MPI_COMM_WORLD Etiquette: entier qui identifie le message de manière unique. Communicateur: communicateur au sein duquel se fait l'échange. Les données échangées sont typées (entiers, réels, types dérivés personnels)

23 #include <stdio.h> #include <stdlib.h> #include <mpi.h> #include <math.h> Communications point à point /************************************************************ This is is a simple send/receive program in in MPI ************************************************************/ int main(int argc, char *argv[]) { int myid, numprocs; int etiquette,source,destination,longueur; int message; MPI_Status status; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid); etiquette=1234; source=0; destination=1; longueur=1; if(myid == source){ message=5678; MPI_Send(&message,longueur,MPI_INT,destination,etiquette,MPI_COMM_WORLD); printf("processor %d sent %d\n",myid,message); } if(myid == destination){ MPI_Recv(&message,longueur,MPI_INT,source,etiquette,MPI_COMM_WORLD,&status); printf("processor %d got %d\n",myid,message); } MPI_Finalize(); return 0; 0; } MPI_SEND (message,longueur,type,rang_dest,etique tte,comm) MPI_RECV (message,longueur,type,rang_source,etiq uette,comm,statut)

24 Communications collectives Les communication collectives permettent de communiquer en un seul appel avec tous les processus d un communicateur. Il y a trois types de communications colectives: Synchronisations globales (MPI_Barrier) Tranferts/échanges de données Diffusion de données (globales avec MPI_Bcast, sélectives avec MPI_Scatter) Collecte de données (MPI_Gather et MPI_Allgather) Echanges globaux (MPI_Alltoall) Opérations de réduction MPI_Reduce : Permet de faire des opérations de réduction sur des données réparties entre les processus d'un communicateur.

25 Quand utiliser MPI? On souhaite un programme parallèle portable Quand il s'agit de faire une grande quantité de calcul et peu de communication entre les processus. Attention!! MPI necessite d'avantage des changements pour passer de la version sequentielle à la version parallèle du code. Il est preferable de l'utiliser depuis le début du codage du programme. Peut être plus difficile à déboguer. Le performance d'une application peut être limité par le réseau de communication entre les noeuds

26 Merci pour vottre attention! Questions?

27 Parallelism in Geant4: Geant I. Hrivnacova, IPN Orsay Based on material presented at Geant4 Technical Forum, 10 December 2013, CERN, by Makoto Asai, Andrea Dotti, SLAC and at CHEP 2013, by Gabriele Cosmo, CERN Séminaire sur le calcul parallèle et GPU, 20 December 2013, IPN Orsay

28 Geant Version 10.0 was released on December 6th, The first major release since June There are several highlighted features including Multi-threading capability with event parallelism It offers two build options: Multi-threaded and Sequential mode Selection via a cmake configuration option -DGEANT4_BUILD_MULTITHREADED=ON Consolidation of multiple-scattering, Isomer production, Enhancements in biasing options,... Not subject of this presentation Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 2

29 Geant4 MT Event level parallelism via multi-threading (POSIX based) Built on top of experience of G4MT prototypes Capitalizing the work started back in 2009 by X.Dong and G.Cooperman, Northeastern University Main design driving goal: minimize user-code changes Integrated into Version 10.0 codebase Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 3

30 Event-Level Parallelism Each worker thread proceeds independently Initializes its state from a master thread Identifies its part of the work (events) Generates hits in its own hitscollection Shares read-only data structures (e.g. geometry, crosssections,?) Geant4 automatically performs reductions (accumulation) when using scorers, G4Run derived classes or g4tools Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 4

31 Results (1) Showing good efficiency w.r.t. excellent linearity vs. number of threads (~95%) Up to very large number of threads O(100) From 1.1 to 1.5 extra gain factor in HT-mode on HT-capable hardware Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 5

32 Results (2) MT functionality introduce minimal overhead in single thread 1thread: CPU penalty ~1% Good memory reduction 10 threads: 50% memory w.r.t 10 instances Based on performance analysis on full-cms benchmark Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 6

33 Results (3) Intel Xeon Phi TM coprocessor Using out-of-the-box 10.0-beta (i.e. no optimisations) ~40 MB/thread Baseline: Full-CMS benchmark; 200 MB (geometry and physics) Speedup almost linear with reasonably small increase of memory usage Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 7

34 Results (4) Fully reproducible: given an event and its initial seed the random number generator history is independent of the number of threads and order in which these are simulated Corollary: given the seeds, sequential and MT builds are equivalent Many physics validation plots Comparison of physics results in MT-mode vs. sequential Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 8

35 Heterogeneous Parallelism MPI MPI works together with MT The examples of MPI parallelism with Geant4 MT are provided in Geant4 examples/extended/parallel/mpi TBB Intel Thread Building Block (TBB): task based parallelism framework https://www.threadingbuildingblocks.org/ Expression of interest by some LHC experiment A preliminary version of one example is provided in Geant4 examples/extended/parallel/tbb Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 9

36 Documentation Geant4 Web site: Application Developer s guide and Toolkit Developer s guide have been updated All basic and many extended and advanced examples were migrated to MT Twiki How to migrate user-code to multi-threading https://twiki.cern.ch/twiki/bin/view/geant4/multithreadingtaskforce Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 10

37 Parallelism in ROOT: PROOF I. Hrivnacova, IPN Orsay Séminaire sur le calcul parallèle et GPU, 20 December 2013, IPN Orsay

38 PROOF PROOF = The Parallel ROOT Facility An extension of ROOT enabling interactive analysis of large sets of ROOT files in parallel on clusters of computers or many-core machines. More generally PROOF can parallelize tasks that can be formulated as a set of independent sub-tasks PROOF for TSelector based analysis: Start analysis locally ("client"), PROOF distributes data and code, Lets CPUs ("workers") run the analysis, Collects and combines (merges) data, Shows analysis results locally Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 2

39 Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 3 With courtesy of Bertrand Bellenot, Axel Naumann, CERN

40 Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 4 With courtesy of Bertrand Bellenot, Axel Naumann, CERN

41 TSelector & PROOF To be able to perform event-level parallelism, PROOF needs to be in charge of the event-loop; This is provided by the Selector framework, defined by the abstract class TSelector with methods Begin() - called on the client only SlaveBegin() - called on each worker (create histograms) Process() - do event analysis SlaveTerminate() - rarely used; post processing of partial results before they are sent to master and merged Terminate() - runs on the client: save results, display histograms,... Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 5

42 Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 6 With courtesy of Bertrand Bellenot, Axel Naumann, CERN

43 Documentation Formation ROOT in February 2012 at IPN Orsay: Root documentation: Séminaire sur le calcul parallèle et GPU,20 December 2013, IPN Orsay 7

44 Christophe DIARRA Séminaire sur le calcul parallèle et GPU IPNO - 20/12/2013 1

45 C est un ensemble de ressources informatiques distribuées géographiquement, reliées à Internet et interagissant via un middleware (intergiciel) Les ressources sont : les CPU, le stockage, les logiciels Le matériel informatique est hétérogène et géré de façon décentralisée Grace au middleware les utilisateurs disposent d un supercalculateur virtuel La grille facilite la mutualisation des ressources et la collaboration scientifique 2

46 : projets européens sur les grilles European DataGrid (EDG) Enabling Grids for E-SciencE (EGEE) Buts : Créer une grille européenne pour la communauté scientifique Avril 2010 : fin EGEE début EGI S appuie sur les NGI (National Grid Initiative) En France la NGI (GIS France Grilles) est pilotée par l Institut des Grilles et du Cloud du CNRS Buts : pérenniser l infrastructure de grille en Europe EGI comporte 37 NGI + CERN EGI fournit le middleware EMI (european middleware initiative) LCG est la plus grande grille de production au monde (300K CPU, 200 PB disk et 100PB tape, +1M jobs/jour) 3

47 Le middleware EMI comprend : Un système d autorisation et d authentification Un système de gestion de jobs Un système de gestion des données Un système d information Un système d accounting (comptabilité) Un système de monitoring (supervision) 4

48 Il faut posséder un certificat électronique S inscrire dans une Organisation Virtuelle Une VO (Virtual Organization) est une communauté d utilisateurs ayant des intérêts communs et qui utilisent la grille pour collaborer et partager des ressources Se servir des utilitaires ou outils (fournis) pour transférer des données Soumettre un job (traitement par lot) pour pour faire tourner un code de calcul 5

49 Authentification Autorisation Accounting Workload Management System (WMS) Information sur le CE, SE Information System Données d auth. & d autorisation User Interface Computing Element Soumission job + suivi et récupération résultat Soumission job et récupération résultat Demande status Logging & Bookeeping (LB) Information sur la localisation des données Informations publiées par les services CE, SE, Worker Nodes Storage Element File Replica Metadata Catalog

50 La grille avec 2 clusters distincts: CE ipngrid04: >800 cores CE ipngrid12: 496 cores avec MPI/IB 2 SE : DPM (17 TB), xrootd (>300 TB pour ALICE) 2 UI: ipngrid01 et ipngrid02 Calcul interactif : sur ipngrid01 (32 cores) + 3GPUs NVIDIA M2090 Compilateurs/Logiciels: CUDA, Compilateurs Intel/MKL, PGI/ACML, Matlab, Mathematica, NAG ~30 utilisateurs locaux (RC, PACS/MURE, PANDA, Physique Théorique, AUGER, Instrumentation, ) NB: ressources GRIF disponibles aussi (12K cores, 4PB) 7

51 JDL : $ cat hello.jdl Executable = "/bin/echo"; Arguments = "Hello World"; StdOutput = "std.out"; StdError = "std.err"; OutputSandbox = {"std.out","std.err"}; Requirements = RegExp("ipngrid04.in2p3.fr.*ipno$",other.GlueCEUniqueID); voms-proxy-init --voms vo.ipno.in2p3.fr --valid 24:0 glite-wms-job-submit -a -o jid hello.jdl glite-wms-job-status -i jid glite-wms-job-output -i jid 8

52 https://ipngridwiki.in2p3.fr

53 Christophe DIARRA Séminaire sur le calcul parallèle et GPU IPNO - 20/12/2013 1

54 C est un standard industriel qui permet de la la parallélisation multi-tâches/multi-threads dans un contexte de mémoire partagée OpenMP propose une API pour C/C++, Fortran avec: Des directives du compilateurs Des bibliothèques Des variables d environnement Le parallélisme est explicite mais la communication inter-tâches est gérée par le compilateur OpenMP ne sait : Gérer la mémoire distribuée Gérer les I/O parallèles dans un même fichier (pas de garantie du résultat) Détecter les problèmes de dépendances des données, d accès concurrents, de deadlocks, de conflits entre données 2

55 Peu de directives au total Possibilité de paralléliser avec 3 ou 4 directives Facilité d utilisation: parallélisation incrémentale à la différence de MPI Même* code source pour la version parallèle et série (*) Moyenanant quelques directives du préprocesseur 3

56 Un programme OpenMP est exécuté par un processus unique qui active des threads à l entrée d une région parallèle OpenMP utilise le modèle Fork Join 4

57 Forme générale: sentinelle directive [clause,...] Exemples: Fortran:!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(BETA,PI) C/C++: #pragma omp parallel default(shared) private(beta,pi) N.B.: sentinelles acceptés en Fortran en free form source fortran:!$omp en fixed form source fortran:!$omp, C$OMP, *$OMP en colonne 1 Lors d une compilation sans OpenMP, les lignes de directives sont traitées comme des lignes de commentaires. 5

58 En Fortran:!$OMP directive [ structured block of code ]!$OMP end directive En C/C++: #pragma directive [ structured block of code ] NB: En C le bloc est délimité par {} sauf s il est implicite (ex: après un #pragma omp for ) 6

59 Une région parallèlle est un bloc de code exécuté par plusieurs threads Fortran!$OMP PARALLEL [clause...] IF (scalar_logical_expression) PRIVATE (list) SHARED (list) DEFAULT (PRIVATE FIRSTPRIVATE SHARED NONE) FIRSTPRIVATE (list) REDUCTION (operator: list) COPYIN (list) NUM_THREADS (scalar-integer-expression) block!$omp END PARALLEL C/C++ #pragma omp parallel [clause...] newline if (scalar_expression) private (list) shared (list) default (shared none) firstprivate (list) reduction (operator: list) copyin (list) num_threads (integer-expression) structured_block 7

60 Parallélisation de boucles (DO/for) Création de sections (pour les blocs de code indépendants) : SECTIONS Exécution : exécution mono-thread (SINGLE) 8

61 PROGRAM DOT_PRODUCT INTEGER N, CHUNKSIZE, CHUNK, I PARAMETER (N=100) PARAMETER (CHUNKSIZE=10) REAL A(N), B(N), RESULT! Some initializations DO I = 1, N A(I) = I * 1.0 B(I) = I * 2.0 ENDDO RESULT= 0.0 CHUNK = CHUNKSIZE!$OMP PARALLEL DO!$OMP& DEFAULT(SHARED) PRIVATE(I)!$OMP& SCHEDULE(STATIC,CHUNK)!$OMP& REDUCTION(+:RESULT) DO I = 1, N RESULT = RESULT + (A(I) * B(I)) ENDDO!$OMP END PARALLEL DO PRINT *, 'Final Result= ', RESULT END #include <omp.h> main () { int i, n, chunk; float a[100], b[100], result; /* Some initializations */ n = 100; chunk = 10; result = 0.0; for (i=0; i < n; i++) { a[i] = i * 1.0; b[i] = i * 2.0; } #pragma omp parallel for \ default(shared) private(i) \ schedule(static,chunk) \ reduction(+:result) for (i=0; i < n; i++) result = result + (a[i] * b[i]); printf("final result= %f\n",result); } 9

62 BARRIER: synchronise tous les threads du groupe MASTER: restreint l exécution d un bloc de code au master thread. Les autres thread continuent leur exécution après cette section. Donc synchroniser si nécessaire avec BARRIER. CRITICAL: un seul thread peut s exécuter à la fois ATOMIC: lecture+modification+écriture atomique 10

63 Pour pouvoir utiliser la biblothèque OpenMP: Fortran INTEGER FUNCTION OMP_GET_NUM_THREADS() ou USE OMP_LIB NBTHREADS = OMP_GET_NUM_THREADS() C/C++ #include <omp.h> nbthreads=omp_get_num_threads(); Compilation GNU: gcc fopenmp o prog prog.c gfortran fopenmp o prog prog.f Compilation Intel: icc openmp o prog prog.c ifort openmp o prog prog.f setenv OMP_NUM_THREADS 8./prog 11

64 https://computing.llnl.gov/tutorials/openmp https://computing.llnl.gov/tutorials/openmp/exercise.html 12

M1 MIAGE Option IFD Data Mining et Parallélisme

M1 MIAGE Option IFD Data Mining et Parallélisme M1 MIAGE Option IFD Data Mining et Parallélisme Alexandre Termier 2011-2012 S2 1 / 24 Besoin ˆ Data Mining doit... traiter de gros volumes de données pouvoir eectuer des analyses complexes (gros calculs)

Plus en détail

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,...

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,... Rappels, SISD, SIMD Calculateurs hybrides (GPU-OpenCL) Rappels... SISD,... SIMD Formation d Ingénieurs de l Institut Galiléee MACS 3 Philippe d Anfray Philippe.d-Anfray@cea.fr CEA DSM 2013-2014 SISD :

Plus en détail

Architectures Parallèles

Architectures Parallèles Architectures Parallèles Cours pour Ingénieur Préparé par Dr. Olfa Hamdi-Larbi ola_ola79@yahoo.fr Reçoit les signaux du contrôleur, cherche les données et les traite Instructions, Données à traiter et

Plus en détail

INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION

INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION PARALLELES SOUS WINDOWS I. PREPARATION DE L ENVIRONNEMENT Tous d abord il va vous falloir télécharger quelques logiciels afin de pouvoir commencer à

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

Architecture des GPU (GPU=Graphics Processing Unit) gael.guennebaud@inria.fr

Architecture des GPU (GPU=Graphics Processing Unit) gael.guennebaud@inria.fr Architecture des GPU (GPU=Graphics Processing Unit) gael.guennebaud@inria.fr Plan du cours 2 Motivations pour les GPUs single core multi-core many-core Architecture des GPUs CPU versus GPU Programmation

Plus en détail

Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience

Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience 29 mars 2002 Olivier BOEBION - Laboratoire de Mathématiques et de Physique Théorique - Tours 1 Principes

Plus en détail

Parallélisme. Cours 1

Parallélisme. Cours 1 Parallélisme Cours 1 TD : 20% - TP : 30% - Examen : 50% Feuille A4 manuscrite (pas de photocopie) Fabrice.Huet@etu.unice.fr (prendre rdv par mail pr le contacter) A quoi sert le parallélisme? Augmenter

Plus en détail

Plan : Master IM2P2 - Calcul Scientifique

Plan : Master IM2P2 - Calcul Scientifique Plan : Les systèmes HPC Typologie des systèmes : Machines Mémoire partagée Machines à Mémoire Distribuées Machine NUMA Exemples Architectures Processeurs HPC Processeurs scalaires, superscalaires, vectoriels

Plus en détail

Programmation multigpu OpenMP versus MPI

Programmation multigpu OpenMP versus MPI 17 février 2011 Gabriel Noaje Programmation multigpu OpenMP versus OpenMP 1 Programmation multigpu OpenMP versus MPI Gabriel Noaje, Michaël Krajecki, Christophe Jaillet gabriel.noaje@univ-reims.fr Équipe

Plus en détail

Grille de Calcul Marocaine ( MaGrid )

Grille de Calcul Marocaine ( MaGrid ) Grille de Calcul Marocaine ( MaGrid ) Bouchra Rahim rahim@cnrst.ma Division TIC - CNRST 1 2 Plan Introduction aux grilles de calcul Initiative de Grille Nationale (NGI) Activités Projets de coopération

Plus en détail

Xeon Phi au CRIHAN. Patrick BOUSQUET-MÉLOU (pbm@crihan.fr) 16 Juin 2015

Xeon Phi au CRIHAN. Patrick BOUSQUET-MÉLOU (pbm@crihan.fr) 16 Juin 2015 Xeon Phi au CRIHAN Patrick BOUSQUET-MÉLOU (pbm@crihan.fr) 16 Juin 2015 Objectifs Veille technologique architecture many-core Se former pour préparer les utilisateurs au Xeon Phi «Knights Landing» (2016)

Plus en détail

Parallélisation. Parallélisation. 1 Applications. 2 Historique. 3 Parallélisme au niveau du circuit. 4 Coprocesseur.

Parallélisation. Parallélisation. 1 Applications. 2 Historique. 3 Parallélisme au niveau du circuit. 4 Coprocesseur. Parallélisation 1 Applications 2 Historique 3 Parallélisme au niveau du circuit 4 Coprocesseur 5 Multiprocesseur 6 Multi-ordinateur 7 grille (Université Bordeaux 1) Architecture de l Ordinateur 2007-2008

Plus en détail

Parallélisme et Répartition

Parallélisme et Répartition Parallélisme et Répartition Master Info Françoise Baude Université de Nice Sophia-Antipolis UFR Sciences Département Informatique baude@unice.fr web du cours : deptinfo.unice.fr/~baude Septembre 2008 Chapitre

Plus en détail

Analyse des textures en temps réel exploitant une architecture parallèle multi-coeurs et GPU

Analyse des textures en temps réel exploitant une architecture parallèle multi-coeurs et GPU Analyse des textures en temps réel exploitant une architecture parallèle multi-coeurs et GPU Moulay Akhloufi, MScA, MBA (moulay.akhloufi@crvi.ca ) Gilles Champagne (gilles.champagne@crvi.ca) Mario Jr Laframboise

Plus en détail

Calcul Haute Performance et Parallélisme Historique et exemples

Calcul Haute Performance et Parallélisme Historique et exemples Calcul Haute Performance et Parallélisme Historique et exemples Emmanuel Hermellin LIRMM Janvier 2014 Sommaire 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs

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

INFO-F-404 : Techniques avancées de systèmes d exploitation

INFO-F-404 : Techniques avancées de systèmes d exploitation Nikita Veshchikov e-mail : nikita.veshchikov@ulb.ac.be téléphone : 02/650.58.56 bureau : 2N8.213 URL : http://student.ulb.ac.be/~nveshchi/ INFO-F-404 : Techniques avancées de systèmes d exploitation Table

Plus en détail

Grille de calcul et physique des particules

Grille de calcul et physique des particules Grille de calcul et physique des particules Vincent Garonne CPPM, Marseille Contenu de la présentation Etat de l art : Grille de calcul Domaine d application : La physique des particules et LHCb Quelques

Plus en détail

Introduction au calcul parallèle: OPENMP

Introduction au calcul parallèle: OPENMP Introduction au calcul parallèle: OPENMP Pascal Viot September 3, 2016 Pascal Viot Introduction au calcul parallèle: OPENMP September 3, 2016 1 / 21 Avant-propos Les processeurs sont constitués d un nombre

Plus en détail

Middleware et services de la grille

Middleware et services de la grille 1 2 La vision EGEE (Enabling Grids for E-sciencE) Création d une infrastructure Grid à travers l Europe, qui implique les réseaux de recherches scientifiques actuelle et futur Offrir à la communauté des

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

NVIDIA CUDA. Compute Unified Device Architecture. Sylvain Jubertie. Laboratoire d Informatique Fondamentale d Orléans 2011-2012

NVIDIA CUDA. Compute Unified Device Architecture. Sylvain Jubertie. Laboratoire d Informatique Fondamentale d Orléans 2011-2012 NVIDIA CUDA Compute Unified Device Architecture Sylvain Jubertie Laboratoire d Informatique Fondamentale d Orléans 2011-2012 Sylvain Jubertie (LIFO) NVIDIA CUDA 2011-2012 1 / 58 1 Introduction 2 Architecture

Plus en détail

Ressources Informatiques / ATLAS-LAPP

Ressources Informatiques / ATLAS-LAPP Ressources Informatiques / ATLAS-LAPP Organisation et utilisation des ressources informatiques pour l'analyse Analyses de physique : ce qui consomme le plus en CPU/disque ATLAS : Méthodes d'analyse assez

Plus en détail

Intel Corporation Nicolas Biguet Business Development Manager Intel France

Intel Corporation Nicolas Biguet Business Development Manager Intel France Les serveurs pour l Entreprise Intel Corporation Nicolas Biguet Business Development Manager Intel France 1 Les orientations stratégiques Clients Réseaux Serveurs Fournir les les éléments de de base des

Plus en détail

Tier1 at the CC-IN2P3. March 2004

Tier1 at the CC-IN2P3. March 2004 Tier1 at the CC-IN2P3 March 2004 Current state at the CC-IN2P3 storage, computation, network... Architecture Cluster - +1000 processors (90% Linux Redhat 7.2) - Job submissions : BQS - Parallel computation

Plus en détail

BONJOURGRID : VERSION ORIENTÉE DONNÉE & MAPREDUCE SÉCURISÉ

BONJOURGRID : VERSION ORIENTÉE DONNÉE & MAPREDUCE SÉCURISÉ Laboratoire LaTICE Univ. de Tunis INRIA LYON Avalon Team Laboratoire d Informatique de Paris Nord (LIPN) BONJOURGRID : VERSION ORIENTÉE DONNÉE & MAPREDUCE SÉCURISÉ Heithem Abbes Heithem Abbes Rencontres

Plus en détail

Kick-off ANR Compass

Kick-off ANR Compass Kick-off ANR Compass Contribution MDLS Pierre Kestener CEA-Saclay, DSM, France Maison de la Simulation Meudon, 14 mars 2013 1 / 10 La Maison de la Simulation Laboratoire de recherche pluridisciplinaire

Plus en détail

Les Microprocesseurs partie2

Les Microprocesseurs partie2 Université Constantine 2 Abdelhamid Mehri Faculté des NTIC Département MI Electronique des Composants & Systèmes Les Microprocesseurs partie2 Cours de L1 - TRONC COMMUN DOMAINE MATHEMATIQUES INFORMATIQUE

Plus en détail

Composants logiciel: Feel++, formats de fichier et visualisation

Composants logiciel: Feel++, formats de fichier et visualisation Composants logiciel: Feel++, formats de fichier et visualisation Alexandre Ancel Cemosis / Université de Strasbourg 13 Janvier 2015 1 / 20 Plan 1 Environnement logiciel & matériel 2 Formats de fichier

Plus en détail

Calculs parallèles et Distribués. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benmoussa@gmail.com

Calculs parallèles et Distribués. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benmoussa@gmail.com Calculs parallèles et Distribués Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benmoussa@gmail.com Calculs parallèles et Distribués Introduction Parallélisation sur mémoire distribuée.

Plus en détail

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1 INF6500 : Structures des ordinateurs Sylvain Martel - INF6500 1 Cours 4 : Multiprocesseurs Sylvain Martel - INF6500 2 Multiprocesseurs Type SISD SIMD MIMD Communication Shared memory Message-passing Groupe

Plus en détail

BE de programmation MPI-1 par envois de messages bloquants

BE de programmation MPI-1 par envois de messages bloquants BE-MPI-1envois de messages bloquants Page 1 of 3 01/03/2010 Calcul parallèle et distribué, et Grilles de calculs Cours de 3ème année SI à Supélec BE de programmation MPI-1 par envois de messages bloquants

Plus en détail

Architecture de la grille

Architecture de la grille 1 2 Diversité des applications et des utilisateurs (profile, nombre,...) supposent des solutions différentes architectures différentes avec des services communs Services de base authentification: établir

Plus en détail

MPI : Un outil pour le multi-coeur?

MPI : Un outil pour le multi-coeur? MPI : Un outil pour le multi-coeur? Romaric David / Loïc Gouarin Université de Strasbourg / Laboratoire de mathématiques d'orsay 16 décembre 2010 Plan 1 Introduction 2 Principe de MPI 3 Les bases de MPI

Plus en détail

Système. Introduction aux systèmes informatiques

Système. Introduction aux systèmes informatiques Introduction aux systèmes informatiques Système Un système est une collection organisée d'objets qui interagissent pour former un tout Objets = composants du système Des interconnexions (liens) entre les

Plus en détail

Polices de Sécurité Grille

Polices de Sécurité Grille Polices de Sécurité Grille Vue d ensemble Rolf Rumler, CC-IN2P3 ACP, Paris, 2009-04-02 www.eu-egee.org EGEE and glite are registered trademarks Contenu Introduction Liste commentée des documents Grid Security

Plus en détail

StratusLab : Le projet et sa distribution cloud

StratusLab : Le projet et sa distribution cloud StratusLab : Le projet et sa distribution cloud M. Airaj C. Loomis (CNRS/LAL) Université Lille I 17 Mai 2010 StratusLab is co-funded by the European Community s Seventh Framework Programme (Capacities)

Plus en détail

Retour de la journée "Bonnes pratiques opérationnelles" : point de vue de la VO Biomed

Retour de la journée Bonnes pratiques opérationnelles : point de vue de la VO Biomed Retour de la journée "Bonnes pratiques opérationnelles" : point de vue de la VO Biomed Tristan Glatard, Sorina Pop CNRS-Creatis, Lyon, France Atelier France Grilles - opérations 12/10/2010 http://wiki.healthgrid.org/biomed-shifts:index

Plus en détail

GPU Computing : début d'une ère ou fin d'une époque? eric.mahe@massiverand.com

GPU Computing : début d'une ère ou fin d'une époque? eric.mahe@massiverand.com GPU Computing : début d'une ère ou fin d'une époque? eric.mahe@massiverand.com Plan Génèse du projet OpenGPU Misères et grandeurs des GPUs Quelle place pour OpenCL? Les avancées de l'architecture Kepler

Plus en détail

CPU ou UCT. Le processeur est une unité d exécution, plus précisément appelée unité centrale de traitement (désignée en franç.

CPU ou UCT. Le processeur est une unité d exécution, plus précisément appelée unité centrale de traitement (désignée en franç. CPU ou UCT Processor (data processing) Le processeur est une unité d exécution, plus précisément appelée unité centrale de traitement (désignée en franç.par UCT, en ang. CPU (Central Processing Unit) CPU+mémoire

Plus en détail

Analyse de performance et optimisation. David Geldreich (DREAM)

Analyse de performance et optimisation. David Geldreich (DREAM) Analyse de performance et optimisation David Geldreich (DREAM) Plan de l exposé Analyse de performance Outils Optimisation Démonstrations Analyse de performance Pas d optimisation sans analyse de performance

Plus en détail

Multi-processeurs, multi-cœurs et cohérence mémoire et cache

Multi-processeurs, multi-cœurs et cohérence mémoire et cache Multi-processeurs, multi-cœurs et cohérence mémoire et cache Intervenant : Thomas Robert Institut Mines-Télécom Rappel système d exploitation & Parallélisme L unité d exécution pour un système d exploitation

Plus en détail

Calculs Haute Performance. Une Introduction aux Calculs Haute Performance

Calculs Haute Performance. Une Introduction aux Calculs Haute Performance Calculs Haute Performance Une Introduction aux Calculs Haute Performance Ivan LABAYE Tizi-Ouzou 2015 1 Plan de l'exposé Calculs Haute Performance? Pour quoi Faire? Modèles de calculateurs (HPC) Outils

Plus en détail

Historique. Évolution des systèmes d exploitation (à travers les âges)

Historique. Évolution des systèmes d exploitation (à travers les âges) Historique Évolution des systèmes d exploitation (à travers les âges) Historique L histoire des systèmes d exploitation permet de dégager des concepts de base que l on retrouve dans les systèmes actuels

Plus en détail

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Segmentation d'images à l'aide d'agents sociaux : applications GPU Segmentation d'images à l'aide d'agents sociaux : applications GPU Richard MOUSSA Laboratoire Bordelais de Recherche en Informatique (LaBRI) - UMR 5800 Université de Bordeaux - France Laboratoire de recherche

Plus en détail

Architectures parallèles

Architectures parallèles Architectures parallèles GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Image: Michael Thompsett Merci à Étienne Tremblay Architecture parallèle Architecture parallèle:

Plus en détail

Comment un ordinateur fonctionne Processeur

Comment un ordinateur fonctionne Processeur Comment un ordinateur fonctionne Processeur Les processeurs Cerveau de l ordinateur Règle flux d information par intermédiaire du bus Détermine puissance de l ordi (486, Pentium, ) Vitesse définit par

Plus en détail

Chap. I : Architecture de base d un ordinateur

Chap. I : Architecture de base d un ordinateur UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Dans cette partie, nous décrivons rapidement l architecture de base d un ordinateur et les principes de son fonctionnement.

Plus en détail

Introduction à la Programmation parallèle INFO 3. Camille Coti 1 camille.coti@lipn.univ-paris13.fr

Introduction à la Programmation parallèle INFO 3. Camille Coti 1 camille.coti@lipn.univ-paris13.fr Introduction à la Programmation parallèle Institut Galilée INFO 3 Camille Coti 1 camille.coti@lipn.univ-paris13.fr 1 Université de Paris XIII, CNRS UMR 7030, France 1 Camille Coti Introduction à la Programmation

Plus en détail

Comment concevoir un ordinateur? Quelques questions à considérer

Comment concevoir un ordinateur? Quelques questions à considérer Comment concevoir un ordinateur? Quelques questions à considérer Unité d entrée Unité de traitement Unité de sortie Comment coder les données Entiers, réels, caractères Comment restituer les résultats

Plus en détail

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Optimisation : pipeline jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des

Plus en détail

Architecture & Nouveautés du Core i7. Xpose Core i7 Guillaume Bedos

Architecture & Nouveautés du Core i7. Xpose Core i7 Guillaume Bedos Architecture & Nouveautés du Core i7 Xpose Core i7 Sommaire Définition Historique Rôle du microprocesseur Architecture d un microprocesseur Core i7 : Améliorations Cache HyperThreading IMC/QPI TurboBoost

Plus en détail

CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES

CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES Trois types de formation LES FORMATEURS Les experts techniques AS+ Groupe EOLEN disposent d une réelle expérience pratique

Plus en détail

Communications performantes par passage de message entre machines virtuelles co-hébergées

Communications performantes par passage de message entre machines virtuelles co-hébergées Communications performantes par passage de message entre machines virtuelles co-hébergées François Diakhaté1,2 1 CEA/DAM Île de France 2 INRIA Bordeaux Sud Ouest, équipe RUNTIME Renpar 2009 1 Plan Introduction

Plus en détail

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription Présentée par Leila Abidi Sous la direction de Mohamed Jemni & Christophe Cérin Plan Contexte Problématique Objectifs

Plus en détail

DIRAC : cadre et composants pour créer des systèmes de calcul distribués

DIRAC : cadre et composants pour créer des systèmes de calcul distribués Licence Creative Commons by-nc-nd (Paternité, pas d'utilisation commerciale, pas de modification) Logiciel validé par la communauté Ens Sup - Recherche DIRAC : cadre et composants pour créer des systèmes

Plus en détail

3A-IIC - Parallélisme & Grid GRID : Prémisses (des applications distribuées à la grille)

3A-IIC - Parallélisme & Grid GRID : Prémisses (des applications distribuées à la grille) 3A-IIC - Parallélisme & Grid GRID : Prémisses (des applications distribuées à la grille) Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle GRID : Prémisses Projet CASA Projet

Plus en détail

Introduction à la programmation // sur GPUs en CUDA et Python

Introduction à la programmation // sur GPUs en CUDA et Python Introduction à la programmation // sur GPUs en CUDA et Python Denis Robilliard Équipe CAMOME: C. Fonlupt, V. Marion-Poty, A. Boumaza LISIC ULCO Univ Lille Nord de France BP 719, F-62228 Calais Cedex, France

Plus en détail

Analyse et mesure de performances du calcul distribué

Analyse et mesure de performances du calcul distribué Analyse et mesure de performances du calcul distribué Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma CruCID Workshop, EMI, Rabat, 5 au 7 juillet 1999 Motivation Types d applications

Plus en détail

BE de programmation OpenMP

BE de programmation OpenMP BE-OpenMP Page 1 of 2 Calcul parallèle et distribué, et Grilles de calculs Cours de 3ème année IIC à Supélec BE de programmation OpenMP Objectifs du Bureau d'etude : (parallélisation en mémoire partagée)

Plus en détail

Infrastructures Parallèles de Calcul

Infrastructures Parallèles de Calcul Infrastructures Parallèles de Calcul Clusters Grids Clouds Stéphane Genaud 11/02/2011 Stéphane Genaud () 11/02/2011 1 / 8 Clusters - Grids - Clouds Clusters : assemblage de PCs + interconnexion rapide

Plus en détail

Association des Doctorants du campus STIC. Séminaires doctorants 11

Association des Doctorants du campus STIC. Séminaires doctorants 11 Association des Doctorants du campus STIC Séminaires doctorants 11 07 mars 2007 Actes édités par l association des doctorants du campus STIC. Les travaux individuels publiés restent l unique propriété

Plus en détail

intro aux SE et mise en œuvre sous UNIX

intro aux SE et mise en œuvre sous UNIX TP: Programmer sous GNU/LINUX Ce premier TP introductif à la programmation en C va vous familiariser avec : la syntaxe du langage ; la mise en oeuvre du compilateur ; le préprocesseur cpp ; l'utilisation

Plus en détail

GPU, processeurs multi-coeurs et bio-informatique

GPU, processeurs multi-coeurs et bio-informatique GPU, processeurs multi-coeurs et bio-informatique Jean-Stéphane Varré jean-stephane.varre@lifl.fr Equipe BONSAI Université Lille 1 - LIFL -INRIA Qu est-ce que c est? Le processeur (CPU) La carte graphique

Plus en détail

Parallélisation Automatique

Parallélisation Automatique Parallélisation Automatique Paul Feautrier ENS de Lyon Paul.Feautrier@ens-lyon.fr 8 septembre 2008 1 / 23 Pourquoi la parallélisation automatique? Les gains de performances dus à la technologie s amenuisent

Plus en détail

Date: 09/11/15 www.crmconsult.com Version: 2.0

Date: 09/11/15 www.crmconsult.com Version: 2.0 Date: 9/11/2015 contact@crmconsult.fr Page 1 / 10 Table des matières 1 SUGARPSHOP : SCHEMA... 3 2 PRESENTATION... 4 3 SHOPFORCE WITH SCREENSHOTS... 5 3.1 CLIENTS... 5 3.2 ORDERS... 6 4 INSTALLATION...

Plus en détail

PRÉSENTATION TRAVAIL EN COURS - APPRENTISSAGE INTERACTIF. Ianis Lallemand, 21 janvier 2013

PRÉSENTATION TRAVAIL EN COURS - APPRENTISSAGE INTERACTIF. Ianis Lallemand, 21 janvier 2013 PRÉSENTATION TRAVAIL EN COURS - APPRENTISSAGE INTERACTIF Ianis Lallemand, 21 janvier 2013 APPRENTISSAGE INTERACTIF definition Contours encore assez flous dans le champ de l apprentissage automatique. Néanmoins,

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

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

Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB

Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB AUTOMGEN 8.009 Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB version 2 : support de sources vidéo, support 3D, support de l ensemble des objets IRIS 2D WEB

Plus en détail

Formation en Calcul Scientifique - LIEM2I

Formation en Calcul Scientifique - LIEM2I Formation en Calcul Scientifique - LIEM2I Introduction au calcul parallèle Loïc Gouarin, Violaine Louvet, Laurent Series Groupe Calcul CNRS 9-13 avril 2012 Loïc Gouarin, Violaine Louvet, Laurent Series

Plus en détail

Calcul parallèle Librairie MPI

Calcul parallèle Librairie MPI Plan Librairie MPI Calcul Haute Performance ONERA Mai-Juin 2007 Plan Plan 1 Environnement 2 Exemple : Anneau de communication Protocoles d envoi et de réception 3 4 Plan Plan 1 Environnement 2 Exemple

Plus en détail

Evolution des technologies de calcul intensif vers les systèmes multi-cœurs et accélérateurs

Evolution des technologies de calcul intensif vers les systèmes multi-cœurs et accélérateurs Evolution des technologies de calcul intensif vers les systèmes multi-cœurs et accélérateurs Marc Mendez-Bermond Expert solutions HPC Programme Contexte Technologies Evolutions 2 Confidentiel Research

Plus en détail

I00 Éléments d architecture

I00 Éléments d architecture I00 I Exemples d ordinateur Pour les informaticiens, différentes machines de la vie courante sont des ordinateurs : par exemple les ordinateurs portables, les ordinateurs fixes, mais aussi les supercalculateurs,

Plus en détail

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr 4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr Le problème Insuffisance des solutions de base (verrous) Les solutions de plus haut niveau Les Sémaphores Les Moniteurs

Plus en détail

Tous les processeurs sont connectés à une large mémoire partagée. Difficulté de s étendre à de grands nombres de processeurs

Tous les processeurs sont connectés à une large mémoire partagée. Difficulté de s étendre à de grands nombres de processeurs Modèle de Machine 1a: Mém. Partagée Tous les processeurs sont connectés à une large partagée. Appelée Symmetric Multiprocessors (SMPs) SMPs de Sun, HP, Intel, IBM Puces Multicoeur, exceptées celles qui

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Gestion de la configuration et contrôle du code source

Gestion de la configuration et contrôle du code source MGL7460 Automne 2015 Gestion de la configuration et contrôle du code source Guy Tremblay Professeur Département d informatique UQAM http://www.labunix.uqam.ca/~tremblay 10 septembre 2015 Parmi les premières

Plus en détail

F. Desprez - UE Parallélisme 2013-2014 - 2

F. Desprez - UE Parallélisme 2013-2014 - 2 OpenMP Frédéric Desprez INRIA LIP ENS Lyon Equipe Avalon 2013-2014 - 1 Quelques références Cours OpenMP, F. Roch (Grenoble) http://www.openmp.org http://www.openmp.org/mp-documents/spec30.pdf http://www.idris.fr

Plus en détail

Claude Kaiser Machine virtuelle et environnement utilisateur SRI_B CHAPITRE 1

Claude Kaiser Machine virtuelle et environnement utilisateur SRI_B CHAPITRE 1 CHAPITRE 1 FOURNIR À L'UTILISATEUR UNE MACHINE VIRTUELLE ET UN ENVIRONNEMENT D'EXÉCUTION DE PROGRAMMES Plan ENVIRONNEMENT DE TRAVAIL ADAPTÉ AU BESOIN DE L'UTILISATEUR Fonctions de l'environnement d'exécution

Plus en détail

Résultats des benchmarks de HPC1 après ajout de 100 cœurs. Date : 06/09/2012. Auteur : Ph Parnaudeau

Résultats des benchmarks de HPC1 après ajout de 100 cœurs. Date : 06/09/2012. Auteur : Ph Parnaudeau Résultats des benchmarks de HPC1 après ajout de 1 cœurs. Date : 6/9/212 Auteur : Ph Parnaudeau 1. Evolution de la configuration la plate forme de calcul du LJLL : HPC1 HPC1 1 Février 211 : UV1 est une

Plus en détail

NOTICE D UTILISATION Option USB 2-Ports USB FRANCAIS

NOTICE D UTILISATION Option USB 2-Ports USB FRANCAIS NOTICE D UTILISATION Option USB 2-Ports USB FRANCAIS Introduction Ce supplément vous informe de l utilisation de la fonction USB qui a été installée sur votre table de mixage. Disponible avec 2 ports USB

Plus en détail

NOTIONS SUR WINDOWS NT

NOTIONS SUR WINDOWS NT Chapitre 10 NOTIONS SUR WINDOWS NT Le système d'exploitation WINDOWS NT (New Technology) a été conçu par Microsoft entre 1988 et 1993. Cinq objectifs étaient poursuivis en créant ce nouveau SE : - offrir

Plus en détail

Valum micro-framework web. Guillaume Poirier-Morency poirigui@iro.umontreal.ca

Valum micro-framework web. Guillaume Poirier-Morency poirigui@iro.umontreal.ca Valum micro-framework web Guillaume Poirier-Morency poirigui@iroumontrealca Résumé Valum est un micro-framework web écrit en Vala génèse et historique du langage Vala présentation du framework Valum exemples

Plus en détail

Compte rendu TP No1 : «Analyse statique de programme»

Compte rendu TP No1 : «Analyse statique de programme» LO20 : Vérification, validation et sûreté de fonctionnement http://www.genie logiciel.utc.fr/lo20/ Compte rendu TP No1 : «Analyse statique de programme» Le premier TP concerne l'analyse statique de programme.

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

La fédération des infrastructures cloud

La fédération des infrastructures cloud La fédération des infrastructures cloud Ecole IN2P3 : Maîtriser le cloud Charles LOOMIS (LAL) 4 juillet 2014 Questions importantes Est-ce que la fédération des ressources est nécessaire? Si oui, comment

Plus en détail

vendredi 3 octobre 2008 Pascal Calvat Centre de calcul IN2P3

vendredi 3 octobre 2008 Pascal Calvat Centre de calcul IN2P3 vendredi 3 octobre 2008 Pascal Calvat Centre de calcul IN2P3 JJS: Java Job Submission - Présentation de JJS - Performances de JJS concernant les jobs courts - Démonstration en direct avec soumission de

Plus en détail

Jérôme Clet-Ortega. Modèles hybrides de programmation pour architectures parallèles

Jérôme Clet-Ortega. Modèles hybrides de programmation pour architectures parallèles + Jérôme Clet-Ortega Modèles hybrides de programmation pour architectures parallèles + Présentation 2 Équipe projet RUNTIME Dirigée par Raymond Namyst Supports exécutifs pour le calcul hautes performances

Plus en détail

Systèmes & Réseaux. Georges Arhodakis Université Paris 8

Systèmes & Réseaux. Georges Arhodakis Université Paris 8 Systèmes & Réseaux Georges Arhodakis Université Paris 8 Sommaire Introduction Historique Service du noyau Appel Système Trappes & Interruptions Horloge & Gestion du Temps Ordonnancement Contrôle & Gestion

Plus en détail

Thales Research & Technology

Thales Research & Technology Thales Research & Technology Kick-off OpenGPU SP2 SPEAR Design Environment 25/03/10 Research & Technology SPEAR Design Environment 25/03/10 Approche semi-automatique complémentaire des compilateurs paralléliseurs

Plus en détail

Principes de la programmation impérative

Principes de la programmation impérative Séquence d instructions Variables et types Types élaborés Procédures, arguments Gestion de la mémoire Langage compilé, interprété Principes de la programmation impérative Séquence d instructions Variables

Plus en détail

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00 Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00 HFFv2 1. OBJET L accroissement de la taille de code sur la version 2.0.00 a nécessité une évolution du mapping de la flash. La conséquence de ce

Plus en détail

Contribution à la mise en service d'une ferme de serveurs connectée à une grille de calcul pour la physique des hautes énergies

Contribution à la mise en service d'une ferme de serveurs connectée à une grille de calcul pour la physique des hautes énergies Contribution à la mise en service d'une ferme de serveurs connectée à une grille de calcul pour la physique des hautes énergies Charlier Fabrice 2è licence en informatique Année Académique 2005-2006 Plan

Plus en détail

Solution d hébergement de "SWIFTAlliance ENTRY R7" Politique de Sauvegarde et de Restauration

Solution d hébergement de SWIFTAlliance ENTRY R7 Politique de Sauvegarde et de Restauration Solution d hébergement de "SWIFTAlliance ENTRY R7" Politique de Sauvegarde et de Restauration Avril 2012 I- Introduction Le présent document présente la politique de sauvegarde et de restauration à adopter

Plus en détail

Introduction à la programmation GPU. P. Fortin UPMC / LIP6 ANR TaMaDi 27/10/2010

Introduction à la programmation GPU. P. Fortin UPMC / LIP6 ANR TaMaDi 27/10/2010 Introduction à la programmation GPU P. Fortin UPMC / LIP6 ANR TaMaDi 27/10/2010 Les processeurs graphiques (GPU) GPU : Graphics Processing Unit GPGPU : General Purpose computation on Graphics Processing

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

Comparaison de MPI, OpenMP et MPI+OpenMP sur un nœud multiprocesseur multicœurs AMD à mémoire partagée.

Comparaison de MPI, OpenMP et MPI+OpenMP sur un nœud multiprocesseur multicœurs AMD à mémoire partagée. RenPar 19 / SympA 13 / CFSE 7 Toulouse, France, du 9 au 11 septembre 2009 Comparaison de MPI, OpenMP et MPI+OpenMP sur un nœud multiprocesseur multicœurs AMD à mémoire partagée. Khaled Hamidouche, Franck

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