Rapport de stage Master 2

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

Download "Rapport de stage Master 2"

Transcription

1 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 Christophe Genolini Laboratoire: LRI Du 01/04/2014 au 30/09/2014 1

2 Remerciements Je voudrais remercier Joel Falcou et Christophe Genolini, mes tuteurs du stage, de m avoir aidé avec beaucoup de patience pendant mon stage. Ils ont toujours encouragé ma créativité et m ont fait confiance sur mon travail. Je remercie également monsieur Antoine, thésard de deuxième années à LRI, pour ses aides concernant mon stage. Enfin, je voudrais remercier toutes les personnes de l équipe «parsys» pour leur accueil et leur bienveillance pendant mon stage. 2

3 Sommaire 1. Introduction: Statistique et informatique R++, the Next Step Parallélisme Méthodologie générale de notre travail Méthodes statistiques Bootstrap Imputation multiple... 7 Partie 2 : Méthode Bootstrap Description détaillée Cas univarié Cas multivarié Comparaison des deux cas Expérience effectuée Résultat et performance Conclusion Partie 3 : Imputation Multiple Description détaillée Modèle de régression linéaire Expérience effectuée Résultats et performance Conclusion Conclusion Contribution du stage Bilan d apport du stage Bibliographie Annexe

4 1. Introduction 1.1 Statistique et informatique Depuis dizaine années, l analyse statistique est de plus en plus utilisée dans beaucoup de domaines. La statistique comprend souvent quatre parties : la collecte des données, le traitement des données collectées, l interprétation des données et enfin la présentation. Aujourd hui il n est plus rare d avoir besoin de traiter et interpréter des données comportant des millions d individus ou de variables. Le coût de temps des méthodes d analyse devient donc un facteur limitant. L arrivé des ordinateurs a profondément modifiée l utilisation des méthodes statistiques. Il existe deux types de logiciels qui permettent de faire l analyse statistique: les logiciel métier(r, SAS, SPSS...) sont souvent conçus par statisticiens et sont plus facile à utiliser par les statisticiens. L inconvénient de ce genre de logiciel est la performance. Le temps de réponse est souvent long. D un autre côté, les logiciels conçus par des informaticiens (Matlab, C/C++, Fortran...) sont plus performants au niveau de calcul, mais ils manquent d APIs de haut niveau pour les statisticiens. Ils sont donc très peu utilisés par les statisticiens. 1.2 R++, the Next Step L objectif du projet R++, the Next Step est de produire un logiciel statistique de haute performance qui proposera les fonctionnalités des logiciels métiers tout en profitant des techniques informatiques moderne. Ce projet s articule autour de trois axes : a) Parallélisme : Aujourd hui, il existe de plus en plus de sources de parallélisme dans le domaine informatique: extension SIMD, multi-cœur, les architectures récentes comme GPU et le Xeon Phi. Le challenge est donc de développer des modèles de programmations parallèles qui s adaptent bien à ces sources. 4

5 b) Big data : La taille de données devient aujourd hui un facteur limitant pour les logiciels statistiques (ils sont généralement bloqué autour du giga). Des techniques utilisant les bases de données(oracle ou PostGRES) ou encore plus moderne, le framework «Hadoop» permettent d aller au-delà. c) Interface homme-machine : Les logiciels statistiques actuels maquent souvent l interface graphique interactive. L objectif de cet axe est de développer une interface graphique qui facilite l interaction homme-machine. Dans ce stage, nous nous sommes intéressés au premier axe, la parallélisation des méthodes statistiques. Nous nous sommes concentré sur deux méthodes particulièrement utilisées et couteuses en temps : le Bootstrap et les Imputations Multiples. 1.3 Parallélisme Le parallélisme consiste à implémenter des programmes utilisant plusieurs processeurs permettant de traiter des informations de manière simultanée. Ces techniques ont pour objectif de réaliser le plus grand nombre d opérations en un temps le plus petit possible.il existe 3 types de sources principales de parallélisme: a) SIMD(Single Instruction Multiple Data) : la même instruction est appliquée simultanément à plusieurs données pour obtenir plusieurs résultats en même temps.c est typiquement le cas des processeurs vectoriels. b) Multi-cœur: un processeur possède plusieurs cœurs physiques travaillant en parallèle. Chaque cœur physique comprend toutes les fonctionnalités nécessaires à exécuter un programme de façon autonome. c) Many-cœur: ce sont des architectures massivement parallèle, par exemple GPU ou Xeon Phi. Elles permettent de traiter efficacement de nombreuses tâches simultanées. Aujourd hui, le parallélisme est exploré dans de nombreux logiciels. Beaucoup de bibliothèques numériques ou noyaux de calcul ont été développés pour exploiter différentes sources parallèles, par exemple BLAS, LAPACK..., qui sont largement utilisés dans différents domaines. 5

6 Dans ce stage, nous nous sommes concentré sur l implémentation parallèle sur GPU. Pourquoi nous nous intéressons le plus à GPU? Premièrement, GPU n est pas cher qui ont déjà été utilisés comme coprocesseurs pour un grand nombre d application. GPU est une unité de calcul massivement parallèle qui nous permet de traiter efficacement de nombreuses tâches simultanées. Deuxièmement, il existe de nombreuse bibliothèques numériques de haute performance sur GPU. Par exemple, curand(cuda Random Number Generation library)[nv10] réalise la génération des nombres aléatoires de haute qualité. Troisièmement, GPU sont largement utilisés actuellement, même dans un ordinateur portable, GPU sont souvent intégrés comme un élément standard. 1.4 Méthodologie générale de notre travail L objectif du stage est d étudier les performances du parallélisme appliqué aux méthodes statistiques. La qualité des résultats de certaines méthodes (généralement non déterministes) dépend du nombre de tentatives effectués pour trouver la solution. Cela signifie que pour obtenir des résultats intéressant, il faut faire un grand nombre d itérations, le plus grand nombre possible. Dans ce genre de cas, le coût en temps devient donc un facteur limitant. D où l importance la parallélisation des méthodes. Pour étudier la parallélisation, nous avons choisi deux méthodes statistiques modernes, très utilisées et assez coûteuses en temps : le Bootstrap et les Imputation multiple. Nous avons implémenté ces méthodes sur différentes architectures (Multicœur, GPU). Ensuite nous avons mesuré les temps d exécution avec différentes tailles de données. Enfin, nous avons comparéles versions classiques et parallèles, en C et en R[r12]. 6

7 1.5 Méthodes statistiques Bootstrap En statistique, bootstrap est une technique permettant de faire de l inférence statistique à partir d un nombre limité d observation. Bootstrap est une méthode très utilisée dans le domaine statistique mais assez coûteux, qui est la troisieme fonction que nous voulons paralléliser dans R[tm14]. Du point de vu de l informatique, un grand nombre de rééchantillonnage indépendants sont requis, ce qui nous permet de penser que le parallélisme permettra effectivement un gain de temps. Il existe plusieurs packages parallèles de bootstrap, la liste(non exhaustif) est présentée ici : 1) Le package parallèle dans R. Les fonctions standards dans R, par exemple, boot(), bootstrap(), nous permettent de paralléliser bootstrap explicitement : boot(..., parallel=c( no, multicore, snow ) ) ou bootstrap(..., parallel=c( no, multicore, snow )). L option multicore permet d exécuter bootstrap en plusieurs processeurs en même temps. L option snow qui nous permet d exécuter bootstrap dans un cluster de machine. 2) Le package SPRINT[jh08](Simple Paralle R interface) qui nous permet de profiter de plusieurs nœuds en utilisant l interface MPI(Message Passing Interface)[sm98] Imputation multiple En statistique, l imputation consiste à remplacer des données manquantes par des valeurs de substitution. Afin de réduire le bruit due à l imputation, Rubin(1987) a développé une méthode appelé l imputation multiple[ru91]. L idée de cette méthode est d effectuer plusieurs imputations sur le même ensemble de données. Chaque ensemble de données imputées est ensuite analysée séparément. Le résultat final est la moyenne des résultats des analyses. 7

8 Imputation multiple est une méthode très utilisée à analyser des valeurs manquantes aléatoirement, mais c est aussi une méthode très coûteuse en temps d exécution. Partie 2 : Méthode Bootstrap 2.1 Description détaillée Le bootstrap est une méthode permettant de calculer l intervalle de confiance d une statistique S lorsque les méthodes classiques (paramétriques) ne le permettent pas. Différentes méthodes de bootstrap existent, mais elles font toutes appels à un processus de 4 étapes : 1) A partir d une population initiale de taille N, un échantillon de taille N, obtenu par tirage avec remise,est constitué. 2) La statistique S i est calculée sur l échantillon i 3) Les étapes 1) et 2) sont répétées M fois 4) Les M statistiques S i permettent de calculer l intervalle de confiance de S. Nous pouvons le voir, le processus de bootstrap est assez simple. Malheureusement, la fiabilité du résultat dépend grandement du nombre déchantillonages effectués M. Quand nous augmentons M, la précision du bootstrap augmente. En résumé, plus M est grand, meilleure sera la qualité de l intervalle. Mais d un point de vue informatique, plus M et N sont grands, plus de puissance de calcul nécessaire est importante. D où l intérêt d optimiser le Bootstrap avec l architecture parallèle récente : GPU(Graphics Processing Unit). 8

9 2.1.1 Cas univarié Nous considérons une population initial de taille N ne contenant qu une seule variable. Nous voulons effectuer M échantillonnages, donc nous avons besoin de faire N tirages par rééchantillonnage. Le nombre total de tirage que nous allons effectuer est M*N. Ensuite nous pourrons calculer la statistique qui nous intéressent pour chaque échantillon. Notons fla fonction qui calcule indice statistique. Les calculs dont nous avons besoin sont : 1) N*M fois de tirage avec remise pour construire M rééchantillonnages 2) M fois d appels de fonction f() pour calculer l indice statistique Cas multivarié Supposons que nous avons n variables dépendantes et chaque variable a N observations dans l échantillon initial. Maintenant, la population initiale est une matrice de n lignes et N colonne. Chaque colonne est une variable. Puisque ces n variables sont dépendantes entre eux, nous ne pouvons pas faire les tirages indépendamment pour chaque variable. Donc nous avons toujours besoin de faire N tirages pour construire un échantillon, mais cette fois nous tirons une ligne à chaque tirage. Ensuite nous appelons f() pour chaque variable. Finalement tous les calculs dont nous avons besoin sont : 1) N*M fois de tirage de colonne pour construire M échantillon 2) n*m fois d appels de fonction f() 9

10 2.1.3 Comparaison des deux cas Si nous comparons le cas univarié et multivarié, nous pouvons constater que dans la méthode Bootstrap, le nombre de tirages ne dépend pas du nombre de variables, il dépend du nombre d individus N et du nombre d échantillonnage M. Par contre, le nombre d appel de f est décidé par le nombre de variablen et le nombre d échantillonnage M. Maintenant pour analyser quantitativement les deux cas, j introduis ici une métrique à les évaluer : la densité de calcul P qui est définit par le nombre de calcul par rapport au nombre total des éléments dans l échantillon initial. Pour le cas univarié : P = N M+M N Pour le cas multivarié : P = N M+n M N n =M + M N où M : nombre d échantillonnage désiré n : nombre de variable N : nombre d observation = M n + M N Nous pouvons observer que si le nombre d observation N reste constant, la densité de calcul de Bootstrap diminue lorsque le nombre de variable n augmente. Cela signifie que un peu de variable mais beaucoup d observations sera le cas optimal à paralléliser. Nous nous concentrerons donc au cas extrême : univariable dans la partie suivante. 10

11 2.2 Expérience effectuée Dans ce rapport, nous allons étudier la performance de bootstrap sur différents architecture : mono-cœur, multi-cœurs et GPU. Nous allons comparer le temps d exécution de bootstrap avec les implémentations sur R, C/C++ et CUDA(GPU) Benchmark : L échantillon initial que nous allons utiliser ici sont des nombres flottants générés aléatoirement entre 0 et 100. Sa taille varie de 1*100 jusqu à 1*10^6. Nous cherchons à estimer le moyen de cet échantillon. Nous fixons le nombre de répétition M est 1000 fois Les processeurs utilisés : CPU : Intel Xeon GPU : Tesla C2050, 3GB, 1.15GHz Multi-cœur : 12 cœurs Intel Xeon Compilateur utilisé : gcc version Résultat et performance Dans cette partie, nous allons comparer les performances des différentes implémentations de bootstrap : 1) L implémentation manuelle avec R sur CPU(mono-cœur) sans utilisant des bibliothèques extérieurs(c, C++...) 2) La fonction standard de R : boot() avec des bibliothèques extérieurs(mean(x)) 3) L implémentation avec C/C++ sur CPU(mono-coeur) 4) L implémentation avec CUDA sur GPU 5) L implémentation sur multi-coeurs en utilisant OpenMP. Dans le tableau suivant, MC_N signifie que nous profitons de N cœurs simultanément. 11

12 2.3.1 L accélération par rapport à l implémentation séquentielle CPU : Speedup Size R Boot() CPU GPU MC_6 MC_8 MC_10 MC_12 1*10^ *10^ *10^ *10^ *10^ Nous prenons ici l implémentation séquentielle sur CPU comme la référence,donc la colonne de CPU est toujours 1 dans le tableau. Quand la valeur dans ce tableau est inférieur à 1, c est-à-dire que la version est plus lente que CPU et qu il n y pas d accélération. Nous pouvons constater que l implémentation manuelle sur R est toujours 25 fois(1/0.04) plus lente que l implémentation sur CPU et la fonction standard boot() est plus rapide que R mais plus lente que GPU et multi-cœur. Ensuite nous pouvons trouver que GPU va gagner un gain à partir de taille 1*10^4. L accélération augmente quand la taille élargi. Nous obtenons un gain de 8.81 à 1*10^6 sur GPU. Nous avons toujours une accélération sur multi-cœur à partir de taille 1*10^3 et maintenant nous nous intéressons à la comparaison des performances de GPU avec le multi-cœur. Vous pouvez trouver aussi le tableau du temps d exécution réel de chaque implémentation de bootstrap dans l annexe. 12

13 Selon la courbe ou l histogramme au dessus, nous pouvons constater que l accélération de GPU est entre 10 cœur et 12 cœur à partir de taille 1*10^5. Cela signifie que quand nous avons assez de données à traiter, la performance de bootstrap sur GPU est meilleur qu un processeur de 10 cœurs. 13

14 2.4 Conclusion En conclusion, nous pouvons bien profiter de parallélisation sur GPU pour bootstrap quand nous avons assez de données dans l échantillonnage original. La performance de GPU est comparable avec un processeur de 10 cœurs. Mais la performance de certain résultats de GPU n est pas très optimale. En fait, cette limitation vient de deux aspects : a) Le temps de transfert de données entre GPU et CPU n est pas négligeable, donc quand nous n avons pas assez de calcul à faire, cette partie est assez élevée par rapport au tempstotal. b) L accès à la mémoire globale de GPU est couteux(souvent cycles d horloge). Sachant que pour construire les rééchantillonnages dans bootstrap, nous avons besoin de faire de nombreuse fois de tirage qui demande d accéder la mémoire globale de manière très aléatoire. La conséquence de ce genre de l accès est de nombreuse de défauts de cache potentiels qui est un facteur important pour bootstrap. Partie 3 : Imputation Multiple 3.1 Description détaillée L Imputation multiple est une méthode statistique introduite par Rubin à Les étapes principales de l imputation multiple sont les suivantes : a) Choisir un modèle qui prédit toutes les données manquantes à partir de toute les autres informationsutilisables, par exemple, régression linéaire, régression logistique ou modèle non-linéaire... b) Utiliser le modèle choisi à créer un ensemble de données complet c) Faire l analyse statistique de cet ensemble de données complet et enregistrer les statistiques que nous cherchons(moyenne, ecart type... ) d) Répéter les étapes b) et c) (selon les auteurs, 3 à 5 fois suffisent) e) Faire l analyse finale pour l ensemble de ces répétitions Le dessin suivant montre le processus global de l imputation multiple. 14

15 Dans ce rapport, nous avons utilisé le modèle de régression linéaire pour faire l inférence des données manquantes Modèle de régression linéaire En statistique, un modèle de régression linéaire[cm91] est un modèle de régression d une variable expliquée sur une ou plusieurs variables explicatives. Dans ce modèle, nous faisons l hypothèse que la dépendance de variable expliquée et les variables explicatives est linéaire. La formule mathématique pour exprimer la relation entre une variable y et un vecteur de variables x est : (3.1) Où y est la variable expliquée, le vecteur x est l ensemble des variables explicatives. u désigne le terme d erreur aléatoire. Le vecteur ß est le paramètre que nous cherchons pour pouvoir faire l inférence les données manquantes. En fait, il existe plusieurs méthodes mathématiques pour estimer Le vecteur ß. Nous avons choisi la méthode OLS(ordinary least squares) pour résoudre cette équation. La formule mathématique est : 15

16 D où : (3.2) Sachant que trouver l inverse d une matrice est assez coûteux(o(n^3))], nous transformons cette formule en : (X T X)ß = X T y (3.3) En ce cas là, nous avons besoin de résoudre le système linéaire A*ß = Y, d où A est (X T X) et Y est (X T y). Une fois que nous trouvons ß, nous pouvons ensuite exprimer la variable expliquée y par le vecteur X qui nous permet d inférer les valeurs manquantes de y par l équation 3.1. Donc, l implémentation réelle de l imputation multiple est la suivante : 1) Initialiser toutes les valeurs manquantes. Si une valeur est manquantes, nous la réplaçons aléatoirement par une des valeurs possibles. Cela conduit a un jeu de donnée complet. 2) Appliquer le modèle de régression linéaire pour la première variable à qui il manque des valeurs. Nous remplaçons les valeurs manquantes initiales par les nouvelles valeurs qui sont trouvées par l équation 3.1 3) Ensuite nous faisons une deuxième régression linéaire pour deuxième variable à qui il manque des valeurs. Nous remplaçons les valeurs manquantes initiales par les nouvelles valeurs. Et ainsi de suite, jusqu à nous ayons traité toutes les variables à qui manquent des valeurs 4) Répéter 1), 2), 3) M fois 3.2 Expérience effectuée Dans ce rapport, nous allons étudier la performance de l imputation multiple sur 16

17 différents architectures : mono-cœur, multi-cœur et GPU Benchmark : Les Benchmarks effectués sont des matrices dont le nombre de variable varie de 10^2 jusqu à 10^3 et dont le nombre d observation de chaque variable varie de 10^3 jusqu à 10^6. Les valeurs de matrice sont des nombres flottants générés arbitrairement entre 0 et 100. Pour chaque taille de matrice, nous ajoutons 10% de valeurs manquantes et nous appliquons 5 imputations Les processeurs utilisés : CPU : Intel Xeon GPU : Tesla C2050, 3GB, 1.15GHz Multi-cœur : 12 cœurs Intel Xeon Compilateur utilisé : gcc version Résultats et performance Dans cette partie, nous allons comparer les performances des différentes implémentations de l imputation multiple: 1) L implémentation utilisant la fonction standard mice() dans R : 2) L implémentation sequentielle en C/C++ avec bibliothèque Blas[bl02] et Lapack[an99] 3) L implémentation GPU avec la bibliothèque Magma[do14] 4) L implémentation multi-cœur avec bibliothèque MKL[intel05] et Lapack, Dans le tableau suivant, MC_N signifie que nous profitons de N cœurs simultanément L accélération par rapport à l implémentation CPU 17

18 Speedup Size Mice() CPU GPU MC_4 MC_6 MC_8 MC_10 MC_12 10*10^ *10^ *10^ *10^ Speedup Size Mice() CPU GPU MC_4 MC_6 MC_8 MC_10 MC_12 100*10^ *10^ *10^ *10^ * Vous pouvez trouver aussi le tableau du temps d exécution réel de chaque implémentation de l imputation multiple dans l annexe. Nous prenons ici l implémentation CPU comme la référence, donc la colonne de CPU dans le tableau est toujours 1. Puisque à partir de taille 1000*10^4, l exécution de fonction mice() est trop longue(> 100h), la mesure donc s arrête à 1000*

19 Comme nous avons prévu, l exécution de l imputation multiple sous R est assez coûteuse aux grandes tailles. Nous pouvons observer que quand la taille passe de 100*10^5 à 100*10^6, la fonction mice() est un peu près 100 fois plus lente(annexe 2). Mais pour CPU, GPU ou multi-cœur, le facteur est normalement 10. Cela signifie encore une fois que l overhead de R pour les problèmes de grandes tailles est assez élevé. Ensuite, la performance de GPU est toujours la meilleur à partir de 100*10^4. Puisque il existe des calculs assez intensifs dans cette méthode, par exemple la multiplication matricielle, résoudre le système linéaire... Donc l imputation multiple est une méthode très adaptée à GPU, l accélération est meilleur qu un processeur de 12 cœurs quand nous avons 100 variables à traiter. Maintenant nous nous intéressons à la comparaison des performances de GPU avec le multi-cœur. Nous prenons ici l implémentation de CPU comme référence : 1) 10 variables: 19

20 2) 100 variables 20

21 Maintenant plus clairement, pour les tailles petite(10 variables), la performance de GPU n est pas très optimale par rapport à laquelle de multi-cœur, mais quand nous augmentons le nombre de variables à 100, nous trouvons que GPU est plus rapide que multi-cœur à partir de 100*10^ Conclusion En conclusion, GPU est un bon choix pour accélérer l imputation multiple quand la taille de problème est grande. Mais pour les petites tailles, l implémentation séquentielle sur CPU est suffisante. En ce moment-là, nous n avons pas besoin d utiliser un GPU ou multi-cœur. 21

22 4. Conclusion 4.1 Contribution du stage Pendant 6 mois de stage, nous avons étudié le parallélisme potentiel des méthodes statistiques modernes. Nous avons implémenté ces méthodes sur différentes architectures avec des bibliothèques de haute performance. Avoir effectué les benchmarks sur différentes tailles de problème, nous avons montré que la parallélisation est un moyen faisable pour réduire le temps d exécution des méthodes statistiques intensives. Nous avons utilisé l implémentation CPU comme références à bien montrer que l overhead de R est très élevé quand la taille de problème devient grande. Nous trouvons que ce genre de logiciel métier ne peut plus satisfaire les besoins du statisticien pour traiter des millions de données efficacement aujourd hui. Cela confirme la motivation de notre projet dont l objectif est de produire un logiciel statistique adapté à Big data. De plus, pendant ce stage, nous avons comparé expérimentalement les performances de multi-cœur et GPU en fonction de tailles. Nous avons montré que la performance de GPU est meilleur qu un processeur de 12 cœurs quand il y a assez de données. 22

23 4.2 Bilan d apport du stage D abord, j ai appris deux méthodes statistiques très utilisée dans le domaine médical : Bootstrap et Imputation Multiple. Ce stage m a permis de découvrir le parallélisme potentiel de statistique et d appliquer GPGPU dans le domaine statistique. Pour pouvoir étudier et comparer la performance de différentes architectures, j ai utilisé beaucoup de bibliothèques à exploiter la parallélisation, par exemple, CURAND,Thrust, Blas, MKL, Magma... Ensuite, pendant ce stage, j ai eu la chance à connaître comment utiliser le logiciel R pour traiter et analyser des problèmes statistiques. J ai mesuré le temps d exécution de chaque méthode sous R et les ai utilisé à comparer avec GPU et multi-cœur. Enfin, ce stage était un stage multidisciplinaire, j ai eu la chance de travailler avec des statisticiens, informaticiens et des experts de compilation, qui me permettait d élargir mes connaissances dans différents domaines et d augmenter mon niveau de communication et collaboration. 23

24 Bibliographie [r12] R Core Team, R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria, ISBN , [nv10] Nvidia, C. U. D. A. (2010). Curand library. [tm14] Sloan, T. M., Piotrowski, M., Forster, T., & Ghazal, P. (2014). Parallel Optimisation of Bootstrapping in R. arxiv preprint arxiv: [jh08] Hill, J., Hambley, M., Forster, T., Mewissen, M., Sloan, T. M., Scharinger, F.,... & Ghazal, P. (2008). SPRINT: A new parallel framework for R. BMC bioinformatics, 9(1), 558. [sm98] Snir, M. (Ed.). (1998). MPI--the Complete Reference: The MPI core (Vol. 1). MIT press. [ru91] Rubin, D. B., & Schenker, N. (1991). Multiple imputation in health are databases: An overview and some applications. Statistics in medicine, 10(4), [cm91] Charles Manski, «Regression», Journal of Economic Literature, vol. 29,n o 1, mars 1991, p [bl02] Blackford, L. S., Petitet, A., Pozo, R., Remington, K., Whaley, R. C., Demmel, J.,... & Lumsdaine, A. (2002). An updated set of basic linear algebra subprograms (BLAS). ACM Transactions on Mathematical Software, 28(2), [an99] Anderson, E., Bai, Z., Bischof, C., Blackford, S., Demmel, J., Dongarra, J.,... & Sorensen, D. (1999). LAPACK Users' guide (Vol. 9). Siam. [do14] Dongarra, J., Gates, M., Haidar, A., Kurzak, J., Luszczek, P., Tomov, S., Yamazaki, I."Accelerating Numerical Dense Linear Algebra Calculations with GPUs," Numerical Calculations with GPUs, Volodymyr Kindratenko, eds., eds. Springer International Publishing, pp. 3-28, July, [intel05] Intel, M. K. L. (2005). Intel math kernel library, linear solvers basics. 24

25 Annexe 1. Le temps d exécution de bootstrap (en seconde) Size Time R Boot() CPU GPU MC_6 MC_8 MC_10 MC_12 1*10^ *10^ *10^ *10^ *10^

26 2. Le temps d exécution de l imputation multiple(en seconde) Size Time Mice() CPU GPU MC_4 MC_6 MC_8 MC_10 MC_12 10*10^ *10^ *10^ *10^ Size Time Mice() CPU GPU MC_4 MC_6 MC_8 MC_10 MC_12 100*10^ *10^ *10^ *10^ (>50H) * (>22H)

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

RAPPORT DE STAGE Calcul parallèle sur GPU

RAPPORT DE STAGE Calcul parallèle sur GPU Université Joseph Fourier Département Licence Sciences & Technologie RAPPORT DE STAGE Calcul parallèle sur GPU D Aguanno Carlotta Laboratoire d accueil : INRIA Directeur du laboratoire : GROS Patrick Responsable

Plus en détail

Problématique des accès mémoires irréguliers causés par les maillages non structurés :

Problématique des accès mémoires irréguliers causés par les maillages non structurés : Problématique des accès mémoires irréguliers causés par les maillages non structurés :! étude comparative entre les machines massivement multicoeurs et les GPU Loïc Maréchal / INRIA! LJLL, Demi-Journée

Plus en détail

Comparaison entre une architecture matérielle dédiée et un GP-GPU pour l optimisation

Comparaison entre une architecture matérielle dédiée et un GP-GPU pour l optimisation Comparaison entre une architecture matérielle dédiée et un GP-GPU pour l optimisation Université de Bretagne-Sud Lab-STICC, Lorient, France ROADeF Troyes, France 13-15 Février 2013 1/22 Objectifs Après

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

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

Solveurs linéaires sur GPU pour la simulation d'écoulement en milieux poreux

Solveurs linéaires sur GPU pour la simulation d'écoulement en milieux poreux CO 2 maîtrisé Carburants diversifiés Véhicules économes Raffinage propre Réserves prolongées Solveurs linéaires sur GPU pour la simulation d'écoulement en milieux poreux J-M. Gratien,, M. Hacene, T. Guignon

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

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

Délégation GPU des perceptions agents : application aux boids de Reynolds

Délégation GPU des perceptions agents : application aux boids de Reynolds Délégation GPU des perceptions agents : application aux boids de Reynolds JFSMA 2015 LIRMM - Université de Montpellier - CNRS Emmanuel Hermellin, Fabien Michel {hermellin, fmichel}@lirmm.fr Mercredi 1

Plus en détail

CHAMPION Matthieu Modèles de Marché en Visual Basic ESILV S04 S6. Sommaire... 1. Introduction... 2

CHAMPION Matthieu Modèles de Marché en Visual Basic ESILV S04 S6. Sommaire... 1. Introduction... 2 Sommaire Sommaire... 1 Introduction... 2 1 Trois différentes techniques de pricing... 3 1.1 Le modèle de Cox Ross Rubinstein... 3 1.2 Le modèle de Black & Scholes... 8 1.3 Méthode de Monte Carlo.... 1

Plus en détail

Faire des simulations au DMS

Faire des simulations au DMS (lorsque l on est statisticien) P. Lafaye de Micheaux 1 1 Département de Mathématiques et de Statistique Université de Montréal Séminaire midi, 2010 Plan de la présentation 1 Motivation/Objectif 2 3 C/C++

Plus en détail

MATÉRIEL GRAPHIQUE POUR LE CALCUL SCIENTIFIQUE. François Rousselle LISIC Image et Apprentissage OASIS

MATÉRIEL GRAPHIQUE POUR LE CALCUL SCIENTIFIQUE. François Rousselle LISIC Image et Apprentissage OASIS MATÉRIEL GRAPHIQUE POUR LE CALCUL SCIENTIFIQUE François Rousselle LISIC Image et Apprentissage OASIS Cadre BQR 2010 CGR LISIC LMPA : Réalisation d'une plateforme générique de calcul intensif pour cartes

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

Les données massives à Calcul Québec

Les données massives à Calcul Québec Les données massives à Calcul Québec Marc Parizeau, professeur et directeur scientifique de Calcul Québec Plan Calcul Québec / Calcul Canada Les outils et les services disponibles Un outil en particulier

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

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

TP3 : Tests de performance des MV

TP3 : Tests de performance des MV Ecole informatique IN2P3 2014 : Maîtriser le Cloud TP Dev : portage d applications sur le Cloud TP3 : Tests de performance des MV Cécile Cavet cecile.cavet at apc.univ-paris7.fr Centre François Arago (FACe),

Plus en détail

Plan Formation : Utilisation Hyperion Janvier-Février 2014 http://www.calmip.cict.fr/ Plan Formation :

Plan Formation : Utilisation Hyperion Janvier-Février 2014 http://www.calmip.cict.fr/ Plan Formation : Plan Formation : Introduction : Mésocentre CALMIP Introduction à l Architecture des systèmes HPC Panorama des Systèmes et Processeurs Multi-core Présentation système de Calcul CALMIP : HYPERION Visite

Plus en détail

Programmation efficace des multicœurs Application a la visualisation scientifique

Programmation efficace des multicœurs Application a la visualisation scientifique Programmation efficace des multicœurs Application a la visualisation scientifique Marc Tchiboukdjian Doctorant 3e me anne e Jean-Philippe Nomine Encadrant CEA Vincent Danjean Directeur de the se Bruno

Plus en détail

Architecture des calculateurs

Architecture des calculateurs Chapitre 1 Architecture des calculateurs 1.1 Introduction Ce paragraphe n a pas la prétention de présenter un cours d informatique. D une manière générale, seuls les caractéristiques architecturales qui

Plus en détail

Résoudre des systèmes linéaires denses sur des architectures composées de processeurs multicœurs et d accélerateurs

Résoudre des systèmes linéaires denses sur des architectures composées de processeurs multicœurs et d accélerateurs Université Paris-Sud Thèse pour obtenir le grade de Docteur en Informatique de l Université Paris-Sud préparée au Laboratoire de Recherche en Informatique dans le cadre de l École Doctorale 427 : Informatique

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

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

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

Optimisation des performances du programme mpiblast pour la parallélisation sur grille de calcul

Optimisation des performances du programme mpiblast pour la parallélisation sur grille de calcul Optimisation des performances du programme mpiblast pour la parallélisation sur grille de calcul Mohieddine MISSAOUI * Rapport de Recherche LIMOS/RR-06-10 20 novembre 2006 * Contact : missaoui@isima.fr

Plus en détail

Arithmétique des corps finis dans la bibliothèque LinBox

Arithmétique des corps finis dans la bibliothèque LinBox Arithmétique des corps finis dans la bibliothèque LinBox Pascal Giorgi & Gilles Villard Équipe Arénaire Laboratoire de l informa tique du parallélisme ENS lyon - CNRS - INRIA Introduction Il existe déjà

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

Sélection de variables groupées avec les forêts aléatoires. Application à l analyse des données fonctionnelles multivariées.

Sélection de variables groupées avec les forêts aléatoires. Application à l analyse des données fonctionnelles multivariées. Sélection de variables groupées avec les forêts aléatoires. Application à l analyse des données fonctionnelles multivariées. Baptiste Gregorutti 12, Bertrand Michel 2 & Philippe Saint Pierre 2 1 Safety

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

Solveur linéaire sur GPU

Solveur linéaire sur GPU Thomas JOST 1 Sylvain CONTASSOT-VIVIER 1,2 Stéphane VIALLE 1,3 1 Équipe AlGorille, LORIA 2 Université Henri Poincaré Nancy 1 3 Équipe IMS Supélec (Metz) 1 Introduction 2 Contraintes et algorithmes Structure

Plus en détail

Informatique générale - processeurs

Informatique générale - processeurs Université de Nice Sophia Antipolis Licence 1 Sciences Fondamentales Informatique Générale Processeurs Jacques Farré (d'après Fabrice Huet, Wikipedia... et bien d'autres) Jacques.Farre@unice.fr http://deptinfo.unice.fr/~jf/infogene

Plus en détail

Limitations of the Playstation 3 for High Performance Cluster Computing

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

Plus en détail

Retour d expérience, portage de code Promes dans le cadre de l appel à projets CAPS-GENCI

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

Practice HPC. Retour d expérience Xeon PHI. Février 2012. Damien DUBUC Expert HPC software. 28/03/2013 ANEO Tous droits réservés 1

Practice HPC. Retour d expérience Xeon PHI. Février 2012. Damien DUBUC Expert HPC software. 28/03/2013 ANEO Tous droits réservés 1 Retour d expérience Xeon PHI Damien DUBUC Expert HPC software Février 2012 28/03/2013 ANEO Tous droits réservés 1 Quel est notre rôle? Présenter o Gérer un portefeuille clients nécessitant des optimisations

Plus en détail

GEL 1001 Design I (méthodologie)

GEL 1001 Design I (méthodologie) GEL 1001 Design I (méthodologie) Technique 2 Systèmes embarqués et fiabilité Hiver 2013 Département de génie électrique et de génie informatique Plan Système embarqué Ordinateur et architecture Von Neumann

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

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

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

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

Plus en détail

Programmer plus vite sans calculer trop lentement: le langage Python pour le calcul scientifique

Programmer plus vite sans calculer trop lentement: le langage Python pour le calcul scientifique Programmer plus vite sans calculer trop lentement: le langage Python pour le calcul scientifique Konrad HINSEN Centre de Biophysique Moléculaire (Orléans) Un bref historique 1991: Python est publié 1994:

Plus en détail

De 2 à 22 millions d'images; Création, Indexation et Recherche par le contenu avec PiRiA

De 2 à 22 millions d'images; Création, Indexation et Recherche par le contenu avec PiRiA De 2 à 22 millions d'images; Création, Indexation et Recherche par le contenu avec PiRiA contact : patrick.hède@cea.fr Commissariat à l'energie Atomique GdR isis : Passage à l'échelle dans la recherche

Plus en détail

Limitations of the PlayStation 3 for High Performance Cluster Computing

Limitations of the PlayStation 3 for High Performance Cluster Computing Master d Informatique Fondamentale École Normale Supérieure Lyon Calcul matriciel haute performance Chantal KELLER Limitations of the PlayStation 3 for High Performance Cluster Computing Alfredo Buttari,

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

Le GPU dans les sciences du vivant et de la santé

Le GPU dans les sciences du vivant et de la santé Le GPU dans les sciences du vivant et de la santé étude de cas en cryomicroscopie électronique Julien Bert Laboratory of Medical Information Processing LaTIM - INSERM U650 CHU Brest, France 1 Le plan Introduction

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

Rencontre sur la thématique du Calcul Haute Performance - 13 juin 2012. Better Match, Faster Innovation

Rencontre sur la thématique du Calcul Haute Performance - 13 juin 2012. Better Match, Faster Innovation Better Match, Faster Innovation Rencontre sur la thématique du Calcul Haute Performance - 13 juin 2012 Meeting on the theme of High Performance Computing TABLE DES MATIÈRES Qu est ce qu un imatch? STI

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

Etude et mise en oeuvre de PREEMPT-RT et Xenomai sur cible DSP Blackfin BF537

Etude et mise en oeuvre de PREEMPT-RT et Xenomai sur cible DSP Blackfin BF537 ENSEIRB-MATMECA Rapport de projet avancé 3 ème année électronique Etude et mise en oeuvre de PREEMPT-RT et Xenomai sur cible DSP Blackfin BF537 Etudiants : Alexandre Braconnier Axel Chevalier Jean-Marc

Plus en détail

ParMat : Parallélisation pour la simulation des Matériaux.

ParMat : Parallélisation pour la simulation des Matériaux. : Parallélisation pour la simulation des Matériaux. G. Bencteux (EDF) 3 septembre 2008 Outline 1 2 Un algorithme d ordre N pour les calculs ab initio (DFT/HF) 3 Simulation du dommage d irradiation par

Plus en détail

Implémentation et Benchmark. d une régression linéaire en RMR2

Implémentation et Benchmark. d une régression linéaire en RMR2 Add intelligence to data Anne Gayet Directrice Datamining Implémentation et Benchmark d une régression linéaire en RMR2 16 janvier 2014 Rendez-vous SFdS: : Méthodes et logiciels Données massives (big data)

Plus en détail

Modélisation d un code numérique par un processus gaussien, application au calcul d une courbe de probabilité de dépasser un seuil

Modélisation d un code numérique par un processus gaussien, application au calcul d une courbe de probabilité de dépasser un seuil Modélisation d un code numérique par un processus gaussien, application au calcul d une courbe de probabilité de dépasser un seuil Séverine Demeyer, Frédéric Jenson, Nicolas Dominguez CEA, LIST, F-91191

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

NumPy et al. Le calcul Scientifique en PYTHON. Konrad HINSEN Centre de Biophysique Moléculaire (Orléans) et Synchrotron Soleil (St Aubin)

NumPy et al. Le calcul Scientifique en PYTHON. Konrad HINSEN Centre de Biophysique Moléculaire (Orléans) et Synchrotron Soleil (St Aubin) NumPy et al. Le calcul Scientifique en PYTHON Konrad HINSEN Centre de Biophysique Moléculaire (Orléans) et Synchrotron Soleil (St Aubin) Python et le logiciel libre Python est un logiciel libre. NumPy

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Mé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étail

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R Yves Aragon, David Haziza & Anne Ruiz-Gazen GREMAQ, UMR CNRS 5604, Université des Sciences

Plus en détail

Optimisation de logiciels de modélisation sur centre de calcul

Optimisation de logiciels de modélisation sur centre de calcul Optimisation de logiciels de modélisation sur centre de calcul Gérald Monard Pôle de Chimie Théorique http://www.monard.info/ Introduction Les ordinateurs sont des appareils électroniques permettant d

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

ROMEO From multi-core to many-core

ROMEO From multi-core to many-core ROMEO From multi-core to many-core Directeur ROMEO Michaël KRAJECKI michael.krajecki@univ-reims.fr Chef de projet ROMEO Arnaud RENARD arnaud.renard@univ-reims.fr Enseignant-Chercheur CReSTIC Christophe

Plus en détail

Parallel Tree-based Exact Algorithms using Heterogeneous Many and Multi-core Computing for Solving Challenging Problems in Combinatorial Optimization

Parallel Tree-based Exact Algorithms using Heterogeneous Many and Multi-core Computing for Solving Challenging Problems in Combinatorial Optimization Parallel Tree-based Exact Algorithms using Heterogeneous Many and Multi-core Computing for Solving Challenging Problems in Combinatorial Optimization Rudi Leroy Encadrement : N. Melab (Univ. Lille 1),

Plus en détail

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Info0804. 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étail

Didacticiel - Études de cas

Didacticiel - Études de cas 1 Objectif Programmation parallèle sous R. Utilisation des librairies «parallel» et «doparallel». Les ordinateurs personnels sont de plus en plus performants. Ils sont maintenant pour la plupart dotés

Plus en détail

LOAD PROFILING : ESTIMATION D UNE COURBE DE CONSOMMATION ET PRECISION D ESTIMATION

LOAD PROFILING : ESTIMATION D UNE COURBE DE CONSOMMATION ET PRECISION D ESTIMATION LOAD PROFILING : ESTIMATION D UNE COURBE DE CONSOMMATION ET PRECISION D ESTIMATION Olivier Chaouy EDF R&D 1, avenue du Général de Gaulle - 92141 Clamart Cedex - France olivier.chaouy@edf.fr Résumé : Le

Plus en détail

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

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

Plus en détail

Économétrie 6-806-85, Automne 2002. Professeur: D. Vencatachellum, Bureau: 4.155

Économétrie 6-806-85, Automne 2002. Professeur: D. Vencatachellum, Bureau: 4.155 Économétrie 6-806-85, Automne 2002 Professeur: D. Vencatachellum, Bureau: 4.155 www.hec.ca/pages/dv dv@hec.ca Consultation: mercredi de 14:00 à 15:00 et sur rendez-vous pris par courrier électronique.

Plus en détail

Conditions d application des méthodes statistiques paramétriques :

Conditions d application des méthodes statistiques paramétriques : Conditions d application des méthodes statistiques paramétriques : applications sur ordinateur GLELE KAKAÏ R., SODJINOU E., FONTON N. Cotonou, Décembre 006 Conditions d application des méthodes statistiques

Plus en détail

Présentation CaSciModOT Performances et Architectures

Présentation CaSciModOT Performances et Architectures Présentation CaSciModOT Performances et Architectures Code parallèle : Un peu de théorie Architectures variables : C(n,p)? Quel code? Quelle architecture? Structure d un code : partie parallèle / séquentielle

Plus en détail

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring Année académique 2006-2007 Professeurs : Marco Saerens Adresse : Université catholique de Louvain Information Systems

Plus en détail

Design, améliorations, et implémentations

Design, améliorations, et implémentations CPU et Mémoire Design, améliorations, et implémentations Techniques et caractéristiques modernes qui permettent de donner aux ordinateurs actuels toute leur puissance 1 Architectures CPU Design de l architecture

Plus en détail

Abstractions Performantes Pour Cartes Graphiques

Abstractions Performantes Pour Cartes Graphiques UNIVERSITÉ PIERRE ET MARIE CURIE ÉCOLE DOCTORALE INFORMATIQUE, TÉLÉCOMMUNICATIONS ET ÉLECTRONIQUE Abstractions Performantes Pour Cartes. Graphiques MATHIAS BOURGOIN sous la direction d Emmanuel Chailloux

Plus en détail

NON-LINEARITE ET RESEAUX NEURONAUX

NON-LINEARITE ET RESEAUX NEURONAUX NON-LINEARITE ET RESEAUX NEURONAUX Vêlayoudom MARIMOUTOU Laboratoire d Analyse et de Recherche Economiques Université de Bordeaux IV Avenue. Leon Duguit, 33608 PESSAC, France tel. 05 56 84 85 77 e-mail

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

Table des matières. PREMIÈRE PARTIE Étapes initiales des études marketing 7

Table des matières. PREMIÈRE PARTIE Étapes initiales des études marketing 7 Table des matières Préface Public 1 Structure de l ouvrage 1 Caractéristiques de l ouvrage 3 Contenu 3 Pédagogie 4 Remarques sur l adaptation française 4 Ressources numériques 5 Biographie 6 PREMIÈRE PARTIE

Plus en détail

ELECTRONIQUE INDUSTRIELLE (243.06) OPTION ÉLECTRODYNAMIQUE Principe des micro-ordinateur (243-834-92) Présenté par Steve Dionne.

ELECTRONIQUE INDUSTRIELLE (243.06) OPTION ÉLECTRODYNAMIQUE Principe des micro-ordinateur (243-834-92) Présenté par Steve Dionne. ELECTRONIQUE INDUSTRIELLE (243.06) OPTION ÉLECTRODYNAMIQUE Principe des micro-ordinateur (243-834-92) Présenté par Steve Dionne À Mario Michaud Remis le 10 septembre automne 2002 Table des matière : Description

Plus en détail

Comment améliorer les performances de vos applications LabVIEW

Comment améliorer les performances de vos applications LabVIEW Comment améliorer les performances de vos applications LabVIEW Antoine PALLADINI Responsable de Projets ARCALE france.ni.com ARCALE propose des prestations dans les domaines du test et mesure et de l embarqué

Plus en détail

Enoncé des travaux pratiques. du cours OpenMP

Enoncé des travaux pratiques. du cours OpenMP Enoncé des travaux pratiques Enoncé des travaux pratiques du cours OpenMP Enoncé des travaux pratiques : description Description Les travaux pratiques se dérouleront sur les nœuds vargas (grappes de 35

Plus en détail

Elma m l a ki i Haj a a j r a Alla a Tao a uf u i f q B ur u kkad a i i Sal a ma m n a e n e Be B n e a n b a d b en e b n i b i Il I ham

Elma m l a ki i Haj a a j r a Alla a Tao a uf u i f q B ur u kkad a i i Sal a ma m n a e n e Be B n e a n b a d b en e b n i b i Il I ham Exposé: la technique de simulation MONTE-CARLO Présenté par : Elmalki Hajar Bourkkadi Salmane Alla Taoufiq Benabdenbi Ilham Encadré par : Prof. Mohamed El Merouani Le plan Introduction Définition Approche

Plus en détail

Programme des épreuves des concours externes de recrutement des personnels techniques et administratifs de recherche et de formation

Programme des épreuves des concours externes de recrutement des personnels techniques et administratifs de recherche et de formation Programme des épreuves des concours externes de recrutement des personnels E1 RECRUTEMENT DES ASSISTANTS INGENIEURS DE RECHERCHE ET DE FORMATION...2 E1.1 Gestionnaire de base de données...2 E1.2 Développeur

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

LE CONTENU DE LA FORMATION : Méthodologie de modélisation Démarche Bond Graph Phi Graph Exemple d application

LE CONTENU DE LA FORMATION : Méthodologie de modélisation Démarche Bond Graph Phi Graph Exemple d application MATLAB FORMATION AU LOGICIEL MATLAB TM ET SYSTEMES MATLAB TM est l un des logiciels les plus répandus dans l industrie. Il est, entre autre, utilisé dans toutes les étapes de modélisation et de simulation

Plus en détail

Mise en œuvre de LAMMPS sur le mésocentre de calcul de la région Centre CCSC (action du projet CaSciModOT)

Mise en œuvre de LAMMPS sur le mésocentre de calcul de la région Centre CCSC (action du projet CaSciModOT) Mise en œuvre de LAMMPS sur le mésocentre de calcul de la région Centre CCSC (action du projet CaSciModOT) Un exemple d utilisation pratique : la simulation numérique de vortex supraconducteurs Nicolas

Plus en détail

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS AVERTISSEMENT Ce document est le fruit d'un long travail approuvé par le jury de soutenance et mis à disposition de l'ensemble de la communauté universitaire élargie. Il est soumis à la propriété intellectuelle

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

Une 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 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étail

Rapport de Stage. Département GEII-1 IUT de Cachan Année 2013. Encadrant : Nicolas Gac (L2S) Ning Chu (L2S)

Rapport de Stage. Département GEII-1 IUT de Cachan Année 2013. Encadrant : Nicolas Gac (L2S) Ning Chu (L2S) Département GEII-1 IUT de Cachan Année 2013 Rapport de Stage [Accélération sur GPU des méthodes itératives de déconvolution pour la localisation de sources acoustiques] XiangYang GAN 13/05/2013 26/07/2013

Plus en détail

Les données manquantes en statistique

Les données manquantes en statistique Les données manquantes en statistique N. MEYER Laboratoire de Biostatistique -Faculté de Médecine Dép. Santé Publique CHU - STRASBOURG Séminaire de Statistique - 7 novembre 2006 Les données manquantes

Plus en détail

CPU ou UCT. Circuit Intégré. Processor (data processing)

CPU ou UCT. Circuit Intégré. Processor (data processing) 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

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. http://www.maarch.fr. 11, bd du Sud Est 92000 Nanterre

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. http://www.maarch.fr. 11, bd du Sud Est 92000 Nanterre Maarch Professional Services 11, bd du Sud Est 92000 Nanterre Tel : +33 1 47 24 51 59 Fax : +33 1 47 24 54 08 Maarch Framework 3 - Maarch PS anime le développement d un produit d archivage open source

Plus en détail

Mises en relief. Information supplémentaire relative au sujet traité. Souligne un point important à ne pas négliger.

Mises en relief. Information supplémentaire relative au sujet traité. Souligne un point important à ne pas négliger. Cet ouvrage est fondé sur les notes d un cours dispensé pendant quelques années à l Institut universitaire de technologie de Grenoble 2, au sein du Département statistique et informatique décisionnelle

Plus en détail

Juan ESCOBAR, IR1 Expert en Calcul Intensif. Fonction postulée :

Juan ESCOBAR, IR1 Expert en Calcul Intensif. Fonction postulée : Oral Examen Professionnel PFI 7 Octobre 2008 Juan ESCOBAR, IR1 Expert en Calcul Intensif Fonction postulée : Chef de Projet sur le Support du Code Communautaire Méso-NH Service National Labellisé INSU

Plus en détail

Introduction à l approche bootstrap

Introduction à l approche bootstrap Introduction à l approche bootstrap Irène Buvat U494 INSERM buvat@imedjussieufr 25 septembre 2000 Introduction à l approche bootstrap - Irène Buvat - 21/9/00-1 Plan du cours Qu est-ce que le bootstrap?

Plus en détail

Etude d Algorithmes Parallèles de Data Mining

Etude d Algorithmes Parallèles de Data Mining REPUBLIQUE TUNISIENNE MINISTERE DE L ENSEIGNEMENT SUPERIEUR, DE LA TECHNOLOGIE ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE DE TUNIS ELMANAR FACULTE DES SCIENCES DE TUNIS DEPARTEMENT DES SCIENCES DE L INFORMATIQUE

Plus en détail

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

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

Plus en détail

É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

Analyse de variance à 2 facteurs imbriqués sur données de comptage - Application au contrôle de

Analyse de variance à 2 facteurs imbriqués sur données de comptage - Application au contrôle de Analyse de variance à 2 facteurs imbriqués sur données de comptage - Application au contrôle de qualité Florence Loingeville 1,2,3, Julien Jacques 1,2, Cristian Preda 1,2, Philippe Guarini 3 & Olivier

Plus en détail

Retour d expérience : portage d une application haute-performance vers un langage de haut niveau

Retour d expérience : portage d une application haute-performance vers un langage de haut niveau Retour d expérience : portage d une application haute-performance vers un langage de haut niveau Mathias Bourgoin, Chailloux Emmanuel, Jean-Luc Lamotte To cite this version: Mathias Bourgoin, Chailloux

Plus en détail

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

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

Plus en détail

Outils d analyse de performance pour le HPC

Outils d analyse de performance pour le HPC Outils d analyse de performance pour le HPC François Trahay Master MOPS Décembre 2013 Plan 1 Introduction.................................................................... 3 2 Outils de profiling..............................................................10

Plus en détail

OPTIMISATION DE LA MAINTENANCE DES EQUIPEMENTS DE MANUTENTION DU TERMINAL A CONTENEURS DE BEJAIA (BMT)

OPTIMISATION DE LA MAINTENANCE DES EQUIPEMENTS DE MANUTENTION DU TERMINAL A CONTENEURS DE BEJAIA (BMT) OPTIMISATION DE LA MAINTENANCE DES EQUIPEMENTS DE MANUTENTION DU TERMINAL A CONTENEURS DE BEJAIA (BMT) LAGGOUNE Radouane 1 et HADDAD Cherifa 2 1,2: Dépt. de G. Mécanique, université de Bejaia, Targa-Ouzemour

Plus en détail