Calcul Haute Performance et Parallélisme Historique et exemples
|
|
- Martin Marcil
- il y a 8 ans
- Total affichages :
Transcription
1 Calcul Haute Performance et Parallélisme Historique et exemples Emmanuel Hermellin LIRMM Janvier 2014
2 Sommaire 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs Puissance de calcul et loi de Moore Utilisation et conception des super-calculateurs 2 Le Parallélisme Les différents types de parallélismes Les lois du parallélismes 3 La Programmation L optimisation du code source La programmation sous CPU La programmation sous GPU 2 / 63
3 Introduction Expression du besoin Dans pratiquement tous les domaines (recherche, ingénierie, entrepreneuriat, industrie,... ) on constate que le calcul intensif numérique prend une place essentielle afin de demeurer dans la compétition mondiale! Simulation numérique L émergence des très grands calculateurs a ouvert une nouvelle approche, la simulation numérique. La simulation permet d approcher des phénomènes complexes. 3 / 63
4 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs Puissance de calcul et loi de Moore Utilisation et conception des super-calculateurs 2 Le Parallélisme Les différents types de parallélismes Les lois du parallélismes 3 La Programmation L optimisation du code source La programmation sous CPU La programmation sous GPU Le Calcul Haute Performance 4 / 63
5 Définition Le Calcul Haute Performance La science relative à la conception et au développement des grands centres de calculs se nomme : Calcul Haute Performance (High Performance Computing) Le Calcul Haute Performance 5 / 63
6 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs Puissance de calcul et loi de Moore Utilisation et conception des super-calculateurs 2 Le Parallélisme Les différents types de parallélismes Les lois du parallélismes 3 La Programmation L optimisation du code source La programmation sous CPU La programmation sous GPU Le Calcul Haute Performance Naissance des super-calculateurs 6 / 63
7 L ENIAC Les découvertes Presper Eckert et John William Mauchly Electronic Numerical Integrator and Computer Ordinateur capable de faire des calculs balistiques 30 tonnes, 72 m2, 160 kw, 100 khz, 20 calculateurs, additions ou 357 multiplications par seconde. L architecture de Von Neumann Architecture en 4 parties utilisant une structure de stockage unique pour conserver les instructions et les données : L unité arithmétique et logique L unité de contrôle La mémoire volatile et permanente Les dispositifs d entrée et sortie Le Calcul Haute Performance Naissance des super-calculateurs 7 / 63
8 Les découvertes L architecture de Von Neumann est encore utilisée dans la quasi totalité de nos ordinateurs actuels Le Calcul Haute Performance Naissance des super-calculateurs 8 / 63
9 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs Puissance de calcul et loi de Moore Utilisation et conception des super-calculateurs 2 Le Parallélisme Les différents types de parallélismes Les lois du parallélismes 3 La Programmation L optimisation du code source La programmation sous CPU La programmation sous GPU Le Calcul Haute Performance Évolution des super-calculateurs 9 / 63
10 De 1960 à 1990 Historique 1960 apparition des premiers super-calculateurs commerciaux conçus par Seymour Cray pour la société Control Data Corporation. Control Data Corporation restera le premier constructeur mondial jusque dans les années A cette époque, Seymour Cray monte sa propre entreprise Cray Search. Il devient le leader des super-ordinateurs jusque dans les années Pendant cette période NEC, Intel, IBM sont déjà des multinationales puissantes et innovantes qui mettent sur le marché des machines compétitives. Le Calcul Haute Performance Évolution des super-calculateurs 10 / 63
11 De nos jours De nos jours, voici la distribution des constructeurs de super-calculateurs. Le Calcul Haute Performance Évolution des super-calculateurs 11 / 63
12 Évolution des processeurs Les processeurs au cours du temps Les premières machines contenaient de simples mono-processeurs. Les processeurs vectoriel ont fait leur apparition ensuite et sont capables d effectuer le décodage d une instruction et de l appliquer à toute une série d opérandes. Fin des années 1980, développement des architectures parallèles par Intel, AMD, PowerPC, RISC. Le Calcul Haute Performance Évolution des super-calculateurs 12 / 63
13 Distribution des processeurs De nos jours, voici la distribution des processeurs par marques dans les super-calculateurs. Le Calcul Haute Performance Évolution des super-calculateurs 13 / 63
14 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs Puissance de calcul et loi de Moore Utilisation et conception des super-calculateurs 2 Le Parallélisme Les différents types de parallélismes Les lois du parallélismes 3 La Programmation L optimisation du code source La programmation sous CPU La programmation sous GPU Le Calcul Haute Performance Puissance de calcul et loi de Moore 14 / 63
15 Loi de Moore Énoncé de Gordon Moore (1975) "The complexity for minimum component costs has increased at a rate of roughly a factor of two per year" Les modifications La période est passée de 2 ans à 18 mois On ne parle plus vraiment de complexité des composants mais du nombre de transistors Nombreuses variantes : doublement de la mémoire, doublement de la fréquence d horloge, doublement de la puissance de calcul... Le Calcul Haute Performance Puissance de calcul et loi de Moore 15 / 63
16 Puissance de calcul L unité de mesure La puissance de calcul est donnée en flops pour opérations à virgule flottante par seconde (Floating point Operations Per Second). Le Calcul Haute Performance Puissance de calcul et loi de Moore 16 / 63
17 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs Puissance de calcul et loi de Moore Utilisation et conception des super-calculateurs 2 Le Parallélisme Les différents types de parallélismes Les lois du parallélismes 3 La Programmation L optimisation du code source La programmation sous CPU La programmation sous GPU Le Calcul Haute Performance Utilisation et conception des super-calculateurs 17 / 63
18 Utilisation De nos jours, voici les domaines utilisant les super-calculateurs. Le Calcul Haute Performance Utilisation et conception des super-calculateurs 18 / 63
19 Conception Supériorité des super-calculateurs Une architecture particulière Conçu pour une tâche ou un but précis Utilisation du parallélisme pour contrer les limites physiques ou techniques Le Calcul Haute Performance Utilisation et conception des super-calculateurs 19 / 63
20 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs Puissance de calcul et loi de Moore Utilisation et conception des super-calculateurs 2 Le Parallélisme Les différents types de parallélismes Les lois du parallélismes 3 La Programmation L optimisation du code source La programmation sous CPU La programmation sous GPU Le Parallélisme 20 / 63
21 Définition Principe du parallélisme Le parallélisme consiste à utiliser des architectures parallèles permettant de traiter des informations de manière simultanée dans le but de réaliser le plus grand nombre d opérations par seconde. Le Parallélisme 21 / 63
22 Pour ou contre Avantages Limites Paradigme dominant depuis les années 2000 Contrer les contraintes physiques : dissipation thermique, consommation, miniaturisation... Contrer les contraintes techniques : fréquence, stabilité... Nouvelle approche et nouvelle vision Difficulté d implémentation et programmation Portabilité souvent limitée Le Parallélisme 22 / 63
23 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs Puissance de calcul et loi de Moore Utilisation et conception des super-calculateurs 2 Le Parallélisme Les différents types de parallélismes Les lois du parallélismes 3 La Programmation L optimisation du code source La programmation sous CPU La programmation sous GPU Le Parallélisme Les différents types de parallélismes 23 / 63
24 La taxonomie de Flynn Le classement de Michael J. Flynn Architecture SISD : systèmes séquentiels qui traitent une donnée à la fois (Single instruction Single Data) Architecture SIMD : systèmes parallèles traitant de grandes quantités de données d une manière uniforme (Single instruction Multiple Data) Architecture MIMD : systèmes parallèles traitant de grandes quantités de données d une manière hétérogène (Multiple instruction Multiple Data) Architecture MISD : systèmes parallèles traitant une seule donnée de manière hétérogène (Multiple instruction Single Data) Le Parallélisme Les différents types de parallélismes 24 / 63
25 La taxonomie de Flynn Le Parallélisme Les différents types de parallélismes 25 / 63
26 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs Puissance de calcul et loi de Moore Utilisation et conception des super-calculateurs 2 Le Parallélisme Les différents types de parallélismes Les lois du parallélismes 3 La Programmation L optimisation du code source La programmation sous CPU La programmation sous GPU Le Parallélisme Les lois du parallélismes 26 / 63
27 Les différentes lois Les lois du parallélisme La loi d Amdahl (1960) : la petite partie du programme qui ne peut être parallélisée limite la vitesse globale du programme La loi de Gustafson : analogue et prend en compte le cas où il est possible d augmenter la quantité de données sur lesquelles les calculs sont effectués en parallèle La métrique de Karp-Flatt (1990) : intègre le coût lié au temps d exécution des instructions qui mettent en œuvre le parallélisme Le Parallélisme Les lois du parallélismes 27 / 63
28 La loi d Amdahl Le Parallélisme Les lois du parallélismes 28 / 63
29 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs Puissance de calcul et loi de Moore Utilisation et conception des super-calculateurs 2 Le Parallélisme Les différents types de parallélismes Les lois du parallélismes 3 La Programmation L optimisation du code source La programmation sous CPU La programmation sous GPU La Programmation 29 / 63
30 Choisir sa solution Se poser les bonnes questions Utiliser le GPGPU Utiliser les processeurs multi-cœurs et multi-threads Utiliser les deux Vouloir une grande compatibilité Vouloir un plus grand contrôle Vouloir une plus grande accessibilité La Programmation 30 / 63
31 Les performances La Programmation 31 / 63
32 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs Puissance de calcul et loi de Moore Utilisation et conception des super-calculateurs 2 Le Parallélisme Les différents types de parallélismes Les lois du parallélismes 3 La Programmation L optimisation du code source La programmation sous CPU La programmation sous GPU La Programmation L optimisation du code source 32 / 63
33 Attention Premature optimization is the root of all evil Donald Knuth La Programmation L optimisation du code source 33 / 63
34 L optimisation Définition Optimisation : technique qui permet une exécution plus rapide du code source tout en gardant des résultats corrects et un niveau d erreur ou d approximation très faible. Règle de conduite 1. Utiliser un code fonctionnel 2. Identifier les parties "lourdes" du code (le profiling) 3. Optimiser seulement les parties identifiées Il existe des compilateurs et des outils permettant de réaliser un profiling du code automatiquement ou d identifier les zones "lourdes". La Programmation L optimisation du code source 34 / 63
35 Techniques Quelques exemples Utiliser le compilateur pour optimiser le code (Attention aux approximations et erreurs) Bien choisir ces types de variables Bien définir ces données selon le langage choisi Bien choisir les opérations et calculs effectués Favoriser les variables et calculs locales Faire attention aux boucles et conditions Faire attention aux fonctions créées et utilisées La Programmation L optimisation du code source 35 / 63
36 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs Puissance de calcul et loi de Moore Utilisation et conception des super-calculateurs 2 Le Parallélisme Les différents types de parallélismes Les lois du parallélismes 3 La Programmation L optimisation du code source La programmation sous CPU La programmation sous GPU La Programmation La programmation sous CPU 36 / 63
37 Présentation Les techniques de programmation MPI Message Passing Interface : environnement le plus connu pour les architectures à mémoires distribuées. Il offre aussi les meilleurs performances comparé à OpenMP OpenMP Multithreading : outil de programmation à base de directives pour l implémentation des programmes sur des systèmes à mémoire partagée. La Programmation La programmation sous CPU 37 / 63
38 MPI Parallélisation Le modèle de programmation MPI se place dans un contexte de parallélisation MIMD (Multiple Instruction Multiple Data) avec une mémoire distribuée. Quelques mots clefs MPI_Init : initialisation de MPI MPI_Comm_size : initialisation du nombre de processus MPI_Comm_rank : identification du processus MPI_Send : envoi d une valeur d une variable MPI_Recv : réception d une valeur d une variable MPI_Finalize : finalisation de MPI La Programmation La programmation sous CPU 38 / 63
39 Principe L exécution En MPI, le programme est dupliqué sur plusieurs processus. Chaque processus exécute un exemplaire du programme et a accès à sa mémoire propre. La Programmation La programmation sous CPU 39 / 63
40 Avantages et inconvénients Avantages Aucun langage à apprendre Une très grande portabilité Une très grande accessibilité Inconvénients Un gain de performance faible Une philosophie qui peut déranger un peu Doit être lancé avec mpirun La Programmation La programmation sous CPU 40 / 63
41 Démonstration Démonstration La Programmation La programmation sous CPU 41 / 63
42 Exemple 1 / Exemple 1 : H e l l o World / i n t main ( i n t argc, c h a r a r g v [ ] ) { i n t rank, s i z e ; MPI_Init (& argc, &a r g v ) ; MPI_Comm_rank (MPI_COMM_WORLD, &rank ) ; MPI_Comm_size (MPI_COMM_WORLD, & s i z e ) ; p r i n t f ( " P r o c e s s u s %d o f %d\n", rank, s i z e ) ; p r i n t f ( " H e l l o w o r l d " ) ; } MPI_Finalize ( ) ; r e t u r n 0 ; La Programmation La programmation sous CPU 42 / 63
43 Exemple 2 / Exemple 2 : Envoyer R e c e v o i r des v a l e u r s / i n t main ( i n t argc, c h a r a r g v [ ] ) { i n t rank, s i z e, a, t [ 4 ] = { 2, 3, 4, 5 } ; MPI_Init(& argc, &a r g v ) ; MPI_Comm_rank(MPI_COMM_WORLD,& rank ) ; MPI_Comm_size (MPI_COMM_WORLD,& s i z e ) ; MPI_Status s t a t ; i f ( rank == 0){ MPI_Send(&t, 4, MPI_INT, 1, 2,MPI_COMM_WORLD) ; } e l s e i f ( rank == 1){ MPI_Recv(&t, 4, MPI_INT, 0, 2,MPI_COMM_WORLD,& s t a t ) ; f o r ( a =0; a <4; a++){ p r i n t f ( " v a l e u r s t a b l e a u %i \n", t [ a ] ) ; } } [... ] MPI_Finalize ( ) ; r e t u r n 0 ; } La Programmation La programmation sous CPU 43 / 63
44 Exemple 3 / Exemple 3 : C a l c u l e r avec MPI / MPI_Init(& argc, &a r g v ) ; MPI_Comm_rank(MPI_COMM_WORLD,& rank ) ; MPI_Comm_size (MPI_COMM_WORLD,& s i z e ) ; MPI_Status s t a t u s ; [... ] i f ( rank==0) s t a r t t i m e = MPI_Wtime ( ) ; [... ] t c a r r e = ( bsup b i n f ) / s i z e ; b i n f p r o c = t c a r r e rank ; f o r ( i =0; i <p r e c ; i ++){ x = b i n f p r o c + ( i t c a r r e / p r e c ) ; tmp = tmp + ( ( t c a r r e / p r e c ) 1/(1+( x x ) ) ) ; } MPI_Reduce(&tmp,& pi, 1, MPI_DOUBLE, MPI_SUM, 0,MPI_COMM_WORLD) ; i f ( rank==0) [... ] endtime = MPI_Wtime ( ) ; } [... ] MPI_Finalize ( ) ; r e t u r n 0 ; La Programmation La programmation sous CPU 44 / 63
45 Exemple 4 / Exemple 4 : B r o a d c a s t des v a l e u r s / #i n c l u d e "mpi. h" #i n c l u d e <s t d i o. h> i n t main ( i n t argc, c h a r a r g v [ ] ) { i n t rank, s i z e, a =1; MPI_Init(& argc, &a r g v ) ; MPI_Comm_rank(MPI_COMM_WORLD,& rank ) ; MPI_Comm_size (MPI_COMM_WORLD,& s i z e ) ; MPI_Status s t a t u s ; MPI_Bcast (&a, 1, MPI_INT, 0, MPI_COMM_WORLD) ; p r i n t f ( " P r o c e s s u s %i : \ n V a l e u r s de a = %i \n", rank, s i z e, a ) ; } MPI_Finalize ( ) ; r e t u r n 0 ; La Programmation La programmation sous CPU 45 / 63
46 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs Puissance de calcul et loi de Moore Utilisation et conception des super-calculateurs 2 Le Parallélisme Les différents types de parallélismes Les lois du parallélismes 3 La Programmation L optimisation du code source La programmation sous CPU La programmation sous GPU La Programmation La programmation sous GPU 46 / 63
47 Le GPGPU À l origine À l origine : les puces graphiques servent uniquement à l affichage d images sur l écran. Une nouvelle fonction Au fil des années : la programmation et les capacités de ces puces graphiques ont évolué pour donner naissance au tout premier processeur graphique GPU. GPGPU Entre 1999 et 2000 : utilisation des GPUs pour exécuter des opérations de calculs scientifiques. C est l avènement du mouvement appelé GPGPU. La Programmation La programmation sous GPU 47 / 63
48 Présentation de CUDA CUDA Environnement logiciel permettant d utiliser le GPU au travers de langage de programmation : C, C++, Java,...). Il comporte les outils nécessaires à la création de fichier CUDA, il est une véritable extension au langage utilisé, permettant une exécution parallèle sur le GPU. La Programmation La programmation sous GPU 48 / 63
49 Fonctionnement de CUDA Les trois parties Runtime : c est l interface entre le GPU et l application Driver : son rôle est de transmettre les calculs de l application au GPU Librairies : CUDA est livré avec avec des implémentations d algorithmes optimisées pour cette architecture La Programmation La programmation sous GPU 49 / 63
50 Les éléments de CUDA Les différents éléments Threads : groupés en blocs qui coopèrent et traitent le même code sur des données différentes Blocs : groupés en grilles et s exécutent dans n importe quel ordre Kernels : fonctions appelées depuis l host et exécutées sur le device La Programmation La programmation sous GPU 50 / 63
51 La mémoire Les différentes mémoires La mémoire globale La mémoire constante La mémoire texture La mémoire partagée Les registres La Programmation La programmation sous GPU 51 / 63
52 Principe et philosophie Répartition des rôles Chaque kernel est associé avec une grille sur le device. Le choix du nombre de threads et de blocs est conditionné par la nature de l application et la nature des données à traiter. Chaque thread dispose d un ID appelé threadidx. Les variables blockdim et threadidx sont définies automatiquement et sont de type dim3. Les threads et les blocs peuvent être organisés suivant une, deux ou trois dimensions. Chaque dimension est accédée par la notation threadidx.x, threadidx.y et threadidx.z. La Programmation La programmation sous GPU 52 / 63
53 Exécution La Programmation La programmation sous GPU 53 / 63
54 Un mot sur OpenCL Présentation OpenCL est un environnement de programmation sous GPU ressemblant beaucoup à CUDA avec une philosophie similaire. Les différences Utilisable avec tout les GPUs Création de systèmes hybrides Gestion de la mémoire différente Un langage plus haut niveau Une communauté un peu moins grande La Programmation La programmation sous GPU 54 / 63
55 Avantages et inconvénients Avantages Des performances impressionnantes Un centre de calcul à un prix ridicule Une communauté très importante Un environnement complet de programmation Inconvénients Une vision très différente de la programmation Portabilité sur les GPUs de la marque Accessibilité faible Une optimisation difficile La Programmation La programmation sous GPU 55 / 63
56 Démonstration Démonstration La Programmation La programmation sous GPU 56 / 63
57 Exemple 1 / Exemple 1 : H e l l o World / #i n c l u d e " main. h" i n t h e l l o W o r l d ( v o i d ) { p r i n t f ( " H e l l o W o r l d! \ n" ) ; } system ( " pause " ) ; r e t u r n 0 ; La Programmation La programmation sous GPU 57 / 63
58 Exemple 2 / Exemple 2 CUDA / #i n c l u d e " main. h" #d e f i n e N 10 global v o i d add ( i n t a, i n t b, i n t c ) { i n t t i d = b l o c k I d x. x ; i f ( t i d < N) c [ t i d ] = a [ t i d ] + b [ t i d ] ; } i n t a d d i t i o n V e c t e u r ( v o i d ) { i n t a [N], b [N], c [N ] ; i n t dev_a, dev_b, dev_c ; // a l l o c a t e t h e memory on t h e GPU cudamalloc ( ( v o i d )&dev_a, N s i z e o f ( i n t ) ) ; cudamalloc ( ( v o i d )&dev_b, N s i z e o f ( i n t ) ) ; cudamalloc ( ( v o i d )&dev_c, N s i z e o f ( i n t ) ) ; f o r ( i n t i =0; i <N; i ++) { a [ i ] = i ; b [ i ] = i i ; } [... ] La Programmation La programmation sous GPU 58 / 63
59 Exemple 2 suite [... ] // copy t h e a r r a y s a and b to t h e GPU cudamemcpy ( dev_a, a,n s i z e o f ( i n t ), cudamemcpyhosttodevice ) ; cudamemcpy ( dev_b, b,n s i z e o f ( i n t ), cudamemcpyhosttodevice ) ; add<<<n,1>>>( dev_a, dev_b, dev_c ) ; // copy t h e a r r a y c back from t h e GPU to t h e CPU cudamemcpy ( c, dev_c,n s i z e o f ( i n t ), cudamemcpydevicetohost ) ; } f o r ( i n t i =0; i <N; i ++) { p r i n t f ( "%d + %d = %d\n", a [ i ], b [ i ], c [ i ] ) ; // f r e e t h e memory a l l o c a t e d on t h e GPU cudafree ( dev_a ) ; cudafree ( dev_b ) ; cudafree ( dev_c ) ; } system ( " pause " ) ; r e t u r n 0 ; La Programmation La programmation sous GPU 59 / 63
60 Exemple 3 / Exemple 3 : C a l c u l de p i / #i n c l u d e " main. h" #d e f i n e P r e c i s i o n global v o i d c a l c ( f l o a t i n t e r v, f l o a t r e s u l t ){ i n t t i d = b l o c k I d x. x ; i f ( t i d < P r e c i s i o n ) r e s u l t [ t i d ] = ( ( 1. 0 / P r e c i s i o n ) 1 / (1 + ( i n t e r v [ t i d ] i n t e r v [ t i d ] ) ) ) ; } i n t calculpigpu ( v o i d ) { f l o a t p i = 0. 0 ; f l o a t i n t e r v a l l e [ P r e c i s i o n ], r e s u l t a t [ P r e c i s i o n ] ; f l o a t d e v _ i n t e r v, d e v _ r e s u l t ; // a l l o c a t e t h e memory on t h e GPU cudamalloc ( ( v o i d )& d e v _ i n t e r v, P r e c i s i o n s i z e o f ( f l o a t ) ) ; cudamalloc ( ( v o i d )& d e v _ r e s u l t, P r e c i s i o n s i z e o f ( f l o a t ) ) ; // f i l l t h e a r r a y s i n t e r v and r e s u l t on t h e CPU [... ] La Programmation La programmation sous GPU 60 / 63
61 Exemple 3 suite [... ] // copy t h e a r r a y s a and b to t h e GPU cudamemcpy ( d e v _ i n t e r v, i n t e r v a l l e, P r e c i s i o n s i z e o f ( i n t ), cudamemcpyhosttodevice ) ; c a l c <<<P r e c i s i o n,1>>>( d e v _ i n t e r v, d e v _ r e s u l t ) ; // copy t h e a r r a y c back from t h e GPU to t h e CPU cudamemcpy ( r e s u l t a t, d e v _ r e s u l t, P r e c i s i o n s i z e o f ( f l o a t ), cudamemcpydevicetohost ) ; // r e s u l t s f o r ( i n t i =0; i <P r e c i s i o n ; i ++) { p i = p i + r e s u l t a t [ i ] ; } p i = p i 4 ; p r i n t f ( " p i = %f \n", p i ) ; // f r e e t h e memory a l l o c a t e d on t h e GPU cudafree ( d e v _ i n t e r v ) ; cudafree ( d e v _ r e s u l t ) ; } r e t u r n 0 ; La Programmation La programmation sous GPU 61 / 63
62 Exemple 3 amélioration / Exemple 3 : O p t i m i s a t i o n / device f l o a t c a l c u l I n t e r v a l l e ( i n t t i d ){ r e t u r n t i d ( 1. 0 / P r e c i s i o n ) ; } global v o i d c a l c ( f l o a t r e s u l t ) { i n t t i d = b l o c k I d x. x ; f l o a t x = c a l c u l I n t e r v a l l e ( t i d ) ; i f ( t i d < P r e c i s i o n ) r e s u l t [ t i d ] = ( ( 1. 0 / P r e c i s i o n ) 1 / (1 + ( x x ) ) ) ; } i n t calculpigpu2 ( v o i d ) { f l o a t p i = 0. 0 ; f l o a t r e s u l t a t [ P r e c i s i o n ] ; f l o a t d e v _ r e s u l t ; cudamalloc ( ( v o i d )& d e v _ r e s u l t, P r e c i s i o n s i z e o f ( f l o a t ) ) ; c a l c <<<P r e c i s i o n,1>>>( d e v _ r e s u l t ) ; [... ] La Programmation La programmation sous GPU 62 / 63
63 Exemple 4 / Exemple 4 : C a l c u l avec des B l o c s e t des Threads / c o n s t i n t N = ; c o n s t i n t t h r e a d s P e r B l o c k = ; c o n s t i n t b l o c k s P e r G r i d = 3 2 ; global v o i d dot ( f l o a t a, f l o a t b, f l o a t c ) { shared f l o a t cache [ t h r e a d s P e r B l o c k ] ; i n t t i d = t h r e a d I d x. x + b l o c k I d x. x blockdim. x ; i n t c a c h e I n d e x = t h r e a d I d x. x ; f l o a t temp = 0 ; w h i l e ( t i d < N) { temp += a [ t i d ] b [ t i d ] ; t i d += blockdim. x griddim. x ; } cache [ c a c h e I n d e x ] = temp ; syncthreads ( ) ; i n t i = blockdim. x / 2 ; w h i l e ( i!= 0) { i f ( c a c h e I n d e x <i ) cache [ c a c h e I n d e x ]+=cache [ c a c h e I n d e x+i ] ; syncthreads ( ) ; i /= 2 ; } i f ( c a c h e I n d e x == 0) c [ b l o c k I d x. x ] = cache [ 0 ] ; } La Programmation La programmation sous GPU 63 / 63
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. Plan du cours. . Architecture: Fermi (2010-12), Kepler (12-?)
Plan du cours Vision mate riel: architecture cartes graphiques NVIDIA INF 560 Calcul Paralle le et Distribue Cours 3 Vision logiciel: l abstraction logique de l architecture propose e par le langage CUDA
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é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étailIntroduction à la programmation des GPUs
Introduction à la programmation des GPUs Anne-Sophie Mouronval Mesocentre de calcul de l Ecole Centrale Paris Laboratoire MSSMat Avril 2013 Anne-Sophie Mouronval Introduction à la programmation des GPUs
Plus en détailSystèmes et traitement parallèles
Systèmes et traitement parallèles Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma 1 Système et traitement parallèle Objectif Etude des architectures parallèles Programmation des applications
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étailSystèmes parallèles et distribués
Systèmes parallèles et distribués Grégory Mounié 2013-12 Grégory Mounié Systèmes parallèles et distribués 2013-12 1 / 58 Outline 1 Introduction 2 Performances 3 Problèmes du calcul parallèle 4 Intergiciels
Plus en détailArchitecture des calculateurs
Formation en Calcul Scientifique - LEM2I Architecture des calculateurs Violaine Louvet 1 1 Institut Camille jordan - CNRS 12-13/09/2011 Introduction Décoder la relation entre l architecture et les applications
Plus en détailCalcul multi GPU et optimisation combinatoire
Année universitaire 2010 2011 Master recherche EEA Spécialité : SAID Systèmes Automatiques, Informatiques et Décisionnels Parcours : Systèmes Automatiques Calcul multi GPU et optimisation combinatoire
Plus en détailINF6500 : 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étailIntroduction to Parallel Programming with MPI
Introduction to Parallel Programming with MPI Master Modélisation et Simulation - ENSTA cours A1-2 Pierre Kestener pierre.kestener@cea.fr CEA-Saclay, DSM, France Maison de la Simulation MDLS, September,
Plus en détailSegmentation 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étailEléments d architecture des machines parallèles et distribuées
M2-RISE - Systèmes distribués et grille Eléments d architecture des machines parallèles et distribuées Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Notions d architecture
Plus en détailÉquilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI.
Facultés Universitaires Notre-Dame de la Paix, Namur Institut d Informatique Année académique 2003-2004 Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de
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étailUNIVERSITÉ D ORLÉANS ÉCOLE DOCTORALE MIPTIS MATHÉMATIQUES, INFORMATIQUE, PHYSIQUE THÉORIQUE ET INGÉNIEURIE DES SYSTÈMES. THÈSE présentée par :
UNIVERSITÉ D ORLÉANS ÉCOLE DOCTORALE MIPTIS MATHÉMATIQUES, INFORMATIQUE, PHYSIQUE THÉORIQUE ET INGÉNIEURIE DES SYSTÈMES Laboratoire d Informatique Fondamentale d Orléans THÈSE présentée par : Hélène COULLON
Plus en détailChapitre 2 : Abstraction et Virtualisation
Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et
Plus en détailArchitecture des Ordinateurs. Partie II:
Architecture des Ordinateurs Partie II: Le port Floppy permet le raccordement du lecteur de disquette àla carte mère. Remarque: Le lecteur de disquette a disparu il y a plus de 6 ans, son port suivra.
Plus en détailContribution à la conception à base de composants logiciels d applications scientifiques parallèles.
- École Normale Supérieure de LYON - Laboratoire de l Informatique du Parallélisme THÈSE en vue d obtenir le grade de Docteur de l École Normale Supérieure de Lyon - Université de Lyon Discipline : Informatique
Plus en détailLes environnements de calcul distribué
2 e Atelier CRAG, 3 au 8 Décembre 2012 Par Blaise Omer YENKE IUT, Université de Ngaoundéré, Cameroun. 4 décembre 2012 1 / 32 Calcul haute performance (HPC) High-performance computing (HPC) : utilisation
Plus en détailTO4T Technologie des ordinateurs. Séance 1 Introduction aux technologies des ordinateurs
TO4T Technologie des ordinateurs Séance 1 Introduction aux technologies des ordinateurs Sébastien Combéfis mardi 27 janvier 2015 Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative
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étailHistoire de l Informatique
Histoire de l Informatique Abdelaaziz EL HIBAOUI Université Abdelelmalek Essaadi Faculté des Sciences de-tétouan hibaoui.ens@gmail.com 14 Feb 2015 A. EL HIBAOUI (FS-Tétouan) Architecture des ordinateurs
Plus en détailINFO-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é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é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étailInformatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année
UFR Sciences et Techniques Licence S&T 1ère année Informatique UE 102 Architecture des ordinateurs et Algorithmique de base Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ UFR Sciences et Techniques
Plus en détailIntroduction 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é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étailTout savoir sur le matériel informatique
Tout savoir sur le matériel informatique Thème de l exposé : Les Processeurs Date : 05 Novembre 2010 Orateurs : Hugo VIAL-JAIME Jérémy RAMBAUD Sommaire : 1. Introduction... 3 2. Historique... 4 3. Relation
Plus en détailAnalyse de performance, monitoring
Analyse de performance, monitoring Plan Principes de profilage Projet TPTP dans Eclipse Utilisation des profiling tools de TPTP Philippe Collet Master 1 Informatique 2009-2010 http://deptinfo.unice.fr/twiki/bin/view/minfo/gl
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étailÉ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é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étailParallélisme et bioinformatique
Master EGOIST - Rouen Plan 1 Introduction Parallélisme? Open MPI 2 Historique 3 Pour qui? Pour quoi? Parallélisme? C est quoi le parallélisme? Principe regrouper (physiquement ou logiquement) un ensemble
Plus en détailMaster première année. Mention : Statistiques et Traitement de Données «STD» Rapport de stage
Université Blaise Pascal UFR Sciences et Technologie Département de Mathématique et Informatique 63177 AUBIERE CEDEXFrance Laboratoire de Météorologie Physique (LaMP) 24 avenue des Landais 63177 Aubière
Plus en détailRuntime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I
Runtime Gestion de la réactivité des communications réseau François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I 1 Le calcul hautes performances La tendance actuelle
Plus en détailI.1- DÉFINITIONS ET NOTIONS DE BASE
I.1- DÉFINITIONS ET NOTIONS DE BASE Informatique Information Automatique Logiciels (Software) Matériels (Hardware) Définition de l information : On appelle une information tout ce qui est transmissible
Plus en détailInfrastructures 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étailEvolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy
Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy Séminaire Aristote, 17 Déc. 2009 Ecole Polytechnique Palaiseau Plan L'univers du cloud Ressources Grilles, middleware
Plus en détailMétriques de performance pour les algorithmes et programmes parallèles
Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and
Plus en détailExécution des instructions machine
Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr]
Plus en détailLes clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1
Les clusters Linux 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com white-paper-cluster_fr.sxw, Version 74 Page 1 Table des matières Introduction....2 Haute performance (High
Plus en détailInfrastructure de calcul du CRRI
Infrastructure de calcul du CRRI Types d'infrastructures de calcul Calcul Intensif (High Performance Computing) Tâches fortement couplées (codes vectoriels / parallèles) Supercalculateurs, SMP, clusters,
Plus en détailI00 É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étailInformatique et Société : une brève histoire
Informatique et Société : une brève histoire Igor Stéphan UFR Sciences Angers 2012-2013 Igor Stéphan UEL29 1/ 24 Informatique et Société : une brève histoire 1 Les conditions de l émergence 2 3 4 5 Igor
Plus en détailAlchin Couderc Flambard TBSEID 2
Alchin Couderc Flambard Lycée Charles Blanc TBSEID 2 2008/2009 Depuis le début de notre formation en électronique en lycée professionnel nous avons vu plusieurs domaines d'intervention tel que le brun,
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étailSystèmes distribués et virtualisation de ressources
p. 1/18 Systèmes distribués et virtualisation de ressources Tanguy RISSET (Transparents : Antoine Fraboulet) tanguy.risset@insa-lyon.fr p. 2/18 Plan 1 Distribution de ressources 1. Distribution de ressources
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étailArchitecture des Ordinateurs Première partie. Licence d Informatique - IUP Miage - FIIFO
Architecture des Ordinateurs Première partie Cécile Germain Daniel Etiemble Licence d Informatique - IUP Miage - FIIFO Table des matières 1 Introduction 3 2 Les composantes de l ordinateur 7 2.1 Le modèle
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étailRetour d expérience, portage de code Promes dans le cadre de l appel à projets CAPS-GENCI
, portage de code Promes dans le cadre de l appel à projets CAPS-GENCI PROMES (UPR 8521 CNRS) Université de Perpignan France 29 juin 2011 1 Contexte 2 3 4 Sommaire Contexte 1 Contexte 2 3 4 Laboratoire
Plus en détailOptimisation des performances et Parallélisme en C/C++ - openmp - MPI MPE - UPC - CUDA 1 / 118-op
Optimisation des performances et Parallélisme en C/C++ - openmp - MPI - UPC - CUDA -opencl http://www.ann.jussieu.fr/pironneau Olivier Pironneau 1 1 University of Paris VI, Laboratoire J.-L. Lions, Olivier.Pironneau@upmc.fr
Plus en détailParallé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 2009 Chapitre
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étailÉléments de programmation et introduction à Java
Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques
Plus en détailCalcul scientifique précis et efficace sur le processeur CELL
Université P. et M. Curie Master spécialité informatique Calcul scientifique précis et efficace sur le processeur CELL NGUYEN Hong Diep Rapport de stage recherche de master 2 effectué au laboratoire LIP6
Plus en détailJournée Utiliateurs 2015. Nouvelles du Pôle ID (Informatique) Pierre Neyron, LIG/CNRS
Journée Utiliateurs 2015 Nouvelles du Pôle ID (Informatique) Pierre Neyron, LIG/CNRS 1 Pôle ID, Grid'5000 Ciment Une proximité des platesformes Autres sites G5K Grenoble + CIMENT Pôle ID = «Digitalis»
Plus en détailHappy birthday ZSet High performance computing dans ZSet
Happy birthday ZSet High performance computing dans ZSet F. Feyel & P. Gosselet Architectures SMP NUMA memory memory memory Distribué memory memory 2 memory memory Hybride memory memory memory memory memory
Plus en détailHigh Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi
Thèse High Performance by Exploiting Information Locality through Reverse Computing Présentée et soutenue publiquement le 21 décembre 2011 par Mouad Bahi pour l obtention du Doctorat de l université Paris-Sud
Plus en détailGCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1
sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1 Pourquoi aller vers les processeurs standard? Considérations
Plus en détailInfo0804. Cours 6. Optimisation combinatoire : Applications et compléments
Recherche Opérationnelle Optimisation combinatoire : Applications et compléments Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 17 février 2014 Plan de
Plus en détailExploitation efficace des architectures parallèles de type grappes de NUMA à l aide de modèles hybrides de programmation
Exploitation efficace des architectures parallèles de type grappes de NUMA à l aide de modèles hybrides de programmation Jérôme Clet-Ortega To cite this version: Jérôme Clet-Ortega. Exploitation efficace
Plus en détailAMBASSADE DE FRANCE EN ALLEMAGNE SERVICE POUR LA SCIENCE ET LA TECHNOLOGIE
AMBASSADE DE FRANCE EN ALLEMAGNE SERVICE POUR LA SCIENCE ET LA TECHNOLOGIE Le Conseiller pour la Science et la Technologie SST/PR Berlin, le 23 novembre 2010 Etat des lieux comparatif dans le domaine des
Plus en détailWindows Server 2008. Chapitre 1: Découvrir Windows Server 2008
Windows Server 2008 Chapitre 1: Découvrir Windows Server 2008 Objectives Identifier les caractéristiques de chaque édition de Windows Server 2008 Identifier les caractéristiques généraux de Windows Server
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étailProgrammation parallèle pour le calcul scientifique
Méthodologie M2 Programmation parallèle pour le calcul scientifique Benoît Semelin 2014 Préliminaire 1000 x ε ~ ε - Loguez vous sur rubicon.obspm.fr puis sur momentum.obspm.fr - Ecrire un programme qui:
Plus en détailGroupe calcul parallèle
Groupe calcul parallèle «Exploiter le potentiel des nouvelles architectures» Vincent Lafage Luz Guevara Ivana Hrivnacova Christophe Diarra Contact :Luz Guevara e-mail : guevara@ipno.in2p3.fr Tel : 54463
Plus en détailChapitre 4: Introduction au Cloud computing
Virtualisation et Cloud Computing Chapitre 4: Introduction au Cloud computing L'évolution d'internet Virt. & Cloud 12/13 2 Définition Le cloud computing est une technologie permettant de délocaliser les
Plus en détailFonctionnement et performance des processeurs
Fonctionnement et performance des processeurs Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Fonctionnement des processeurs Unités de calcul
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étailLinux embarqué: une alternative à Windows CE?
embarqué: une alternative à Windows CE? : une alternative à Windows CE Présentation Mangrove Systems Distribution embarqué Perspective WinCe / Questions Mangrove systems Créé en 2001 Soutien Soutien Ministère
Plus en détailCours 3 : L'ordinateur
Cours 3 : L'ordinateur Abdelkrim Zehioua 2éme année Licence Gestion Faculté des sciences Économiques et sciences de Gestion Université A, Mehri - Constantine 2 Plan du cours 1.Définitions de l'ordinateur
Plus en détailTHÈSE DEVANT L UNIVERSITÉ DE RENNES 1
N d ordre : 3881 THÈSE présentée DEVANT L UNIVERSITÉ DE RENNES 1 pour obtenir le grade de : DOCTEUR DE L UNIVERSITÉ DE RENNES 1 Mention : Traitement du Signal et Télécommunications par Julien LALLET Équipe
Plus en détailChapitre 1 - Langages de description d architectures matérielles hybrides
Chapitre 1 - Langages de description d architectures matérielles hybrides «Hélas, tout a déjà été dit et on arrive trop tard!» (La Bruyère) Résumé La méthode MEDEVER nécessite la description de l architecture
Plus en détailRapport de stage Master 2
Rapport de stage Master 2 Informatique Haute Performance et Simulation, 2 ème année Ecole Centrale Paris Accélération des méthodes statistiques sur GPU Auteur : CHAI Anchen. Responsables: Joel Falcou et
Plus en détailLa mémoire. Un ordinateur. L'octet. Le bit
Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve
Plus en détailRappels d architecture
Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée
Plus en détailStructure de base d un ordinateur
Structure de base d un ordinateur 1-Définition de l ordinateur L ordinateur est un appareil électronique programmable qui traite automatiquement les informations. Il est constitué de l unité centrale et
Plus en détailArchitecture matérielle des systèmes informatiques
Architecture matérielle des systèmes informatiques IDEC, Renens. Version novembre 2003. Avertissement : ce support de cours n est pas destiné à l autoformation et doit impérativement être complété par
Plus en détailOutil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche
Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche Serveurs DELL PowerEdge Tour Rack standard R310 T110II Rack de calcul Lames R815 M610 R410 R910 M620 R415 R510 T620 R620 R720/R720xd
Plus en détailÉtat de l art des simulations multi-agents sur GPU
État de l art des simulations multi-agents sur GPU Emmanuel Hermellin Fabien Michel Jacques Ferber emmanuel.hermellin@lirmm.fr fmichel@lirmm.fr ferber@lirmm.fr LIRMM - Laboratoire Informatique Robotique
Plus en détailIntroduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007
Introduction à l architecture des ordinateurs Adrien Lebre Décembre 2007 Plan - partie 1 Vue d ensemble La carte mère Le processeur La mémoire principal Notion de bus Introduction à l architecture des
Plus en détailLeçon 1 : Les principaux composants d un ordinateur
Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques
Plus en détailExposé de Pérennisation Comission de la Recherche 26 juin 2014
Enseignant-Chercheur en informatique MINES ParisTech PSL Research University CRI (Centre de Recherche en Informatique) Exposé de Pérennisation Comission de la Recherche 26 juin 2014 2 Université de Rennes/IRISA
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é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étailARCHITECTURE ET FONCTIONNEMENT
ORAL PROBATOIRE OPTION SYSTEMES D INFORMATION ARCHITECTURE ET FONCTIONNEMENT D UNE CARTE MERE POUR PC PETITGAND Gérald Session 2004 Sommaire Introduction 3 1. Architecture d une carte mère 4 1.1. L'évolution
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailSur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)
1/ Généralités : Un ordinateur est un ensemble non exhaustif d éléments qui sert à traiter des informations (documents de bureautique, méls, sons, vidéos, programmes ) sous forme numérique. Il est en général
Plus en détailInformatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction
Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d
Plus en détailInformatique Industrielle Année 2004-2005. Architecture des ordinateurs Note de cours T.Dumartin
Informatique Industrielle Année 2004-2005 Architecture des ordinateurs Note de cours T.Dumartin 1 GENERALITES 5 1.1 INTRODUCTION 5 1.2 QU ENTEND-T-ON PAR ARCHITECTURE? 5 1.3 QU EST CE QU UN MICROPROCESSEUR?
Plus en détailIntroduction à l Informatique
Introduction à l Informatique Principes et Généralités Enseignant : Walid KADRI walidk.04@hotmail.com Département de "LMD Droit" Faculté de Sciences Politiques et de Droit Université d ORAN Année Universitaire
Plus en détailChapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing
Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud Grid and Cloud Computing Problématique Besoins de calcul croissants Simulations d'expériences coûteuses ou dangereuses Résolution de
Plus en détailVérifier la qualité de vos applications logicielle de manière continue
IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions
Plus en détailUne dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU
Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Gabriel Antoine Louis Paillard Ce travail a eu le soutien de la CAPES, agence brésilienne pour
Plus en détailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Plus en détailSystèmes Multi-Agents et GPGPU : état des lieux et directions pour l avenir
Systèmes Multi-Agents et GPGPU : état des lieux et directions pour l avenir Emmanuel Hermellin a emmanuel.hermellin@lirmm.fr Fabien Michel a fmichel@lirmm.fr Jacques Ferber a ferber@lirmm.fr a LIRMM -
Plus en détail