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 Le processeur (CPU)
GPU = Graphics Processing Unit architecture dessinnée pour traiter des pixels en parallèle amélioré au fur et à mesure des années sous l impulsion de l industrie du jeu vidéo
GPU = Graphics Processing Unit un processeur dédié au traitement des images : architecture dessinnée pour traiter des pixels en parallèle amélioré au fur et à mesure des années sous l impulsion de l industrie du jeu vidéo
Particularités du GPU vis-à-vis du CPU très nombreux coeurs 240 plusieurs coeurs 2,4,8 "le GPU est au CPU ce que le supertanker est au hors-bord" Jen-Hsun Huang, Nvidia
Mais quel est le rapport entre calculer une image et ma problématique de traitement de données?
Mais quel est le rapport entre calculer une image et ma problématique de traitement de données? le point commun : exécuter le même traitement sur des données différentes
Mais quel est le rapport entre calculer une image et ma problématique de traitement de données? le point commun : exécuter le même traitement sur des données différentes GPGPU : le calcul par le GPU General Purpose GPU utiliser le processeur graphique (GPU) pour exécuter des tâches de calcul polyvalentes de science et d ingénierie
Une carte graphique...... sans sortie graphique!!!
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
T1 T2 T3 T4 T5 T6 T7 T8 1 2 3 4 5 6 7 8 + + + + + + + + 1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
T1 T1 T1 T1 T2 T2 T2 T2 1 2 3 4 5 6 7 8 + + 1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Vers une uniformisation des processeurs projet Intel Larabee : un CPU avec un grand nombre de coeurs a single-chip cloud computer
Que puis-je en attendre?
Evolution de la puissance GFLOPS = nombre de milliards d opérations à la seconde
chaque processeur va moins vite qu un CPU dispose de moins de mémoire mais accélération grâce au traitement en parallèle
chaque processeur va moins vite qu un CPU dispose de moins de mémoire mais accélération grâce au traitement en parallèle on peut espérer accélérer jusqu à 100 fois les traitements
avantages du GPU : la carte peut être insérée dans une machine de bureau pas besoin d infrastructure particulière coût faible désavantages du GPU : nécessite un programme adapté nécessite une machine capable de recevoir la carte
Programmer un GPU, c est facile?
Programmer un GPU, c est facile? CUDA (2006) NVidia basé sur le langage C plus aisé qu avant! OpenCL (2009) tout processeur à plusieurs coeurs nécessite un compilateur spécifique au matériel
Programmer un GPU, c est facile? plus aisé qu avant! CUDA (2006) NVidia basé sur le langage C PyCUDA/PyOpenCL OpenCL (2009) tout processeur à plusieurs coeurs nécessite un compilateur spécifique au matériel
En CUDA En OpenCL
En CUDA En OpenCL
En réalité, pas si facile... nécessite une bonne expertise en programmation nécessite une programmation proche du matériel nécessite de revisiter l algorithme difficile d obtenir un gain important
En réalité, pas si facile... nécessite une bonne expertise en programmation nécessite une programmation proche du matériel nécessite de revisiter l algorithme difficile d obtenir un gain important mais ce ne sont que les prémisses
Grille un programme déjà existant que je distribue sur différentes machines des instances du programme sont exécutées en parallèle
GPU les opérations d un programme que je distribue sur les différents coeurs du processeur Grille un programme déjà existant que je distribue sur différentes machines les instructions du programme sont exécutées en parallèle des instances du programme sont exécutées en parallèle
Grille + GPU : un mariage d avenir un programme utilisant la puissance d un GPU + distribution du programme sur différentes données sur les noeuds d une grille de GPU = doublement gagnant sur le parallélisme gain maximal
Et la bio-informatique?
GPU et bio-informatique 2005 : première application, phylogénie aujourd hui : une vingtaine d applications dans différents domaines des applications phares déjà portées : GPU-HMMER CUDA-Blast MummerGPU GPU-ClustalW Manycore high-performance computing in bioinformatics. J.-S. Varré, B. Schmidt, S. Janot and M. Giraud. 2011.
GPU-ClustalW Liu W, Schmidt B, Voss G, and Mu ller-wittig W. 2006. GPU-ClustalW: Using Graphics Hardware to Accelerate Multiple Sequence Alignment. Pages 363 374 of: IEEE International Conference on High Performance Computing (HiPC 2006)
GPU-ClustalW Liu W, Schmidt B, Voss G, and Mu ller-wittig W. 2006. GPU-ClustalW: Using Graphics Hardware to Accelerate Multiple Sequence Alignment. Pages 363 374 of: IEEE International Conference on High Performance Computing (HiPC 2006)
GPU-ClustalW Liu W, Schmidt B, Voss G, and Mu ller-wittig W. 2006. GPU-ClustalW: Using Graphics Hardware to Accelerate Multiple Sequence Alignment. Pages 363 374 of: IEEE International Conference on High Performance Computing (HiPC 2006)
GPU-ClustalW Liu W, Schmidt B, Voss G, and Mu ller-wittig W. 2006. GPU-ClustalW: Using Graphics Hardware to Accelerate Multiple Sequence Alignment. Pages 363 374 of: IEEE International Conference on High Performance Computing (HiPC 2006)
TFM-CUDA Giraud M, and Varré JS. 2009. Parallel Position Weight Matrices Algorithms. In: International Symposium on Parallel and Distributed Computing (ISPDC 2009). recherche des occurrences de sites de fixation de facteurs de transcriptions
TFM-CUDA Giraud M, and Varré JS. 2009. Parallel Position Weight Matrices Algorithms. In: International Symposium on Parallel and Distributed Computing (ISPDC 2009). recherche des occurrences de sites de fixation de facteurs de transcriptions
"CUDASW++: optimizing Smith-Waterman sequence database searches for CUDA-enabled graphics processing units, Y. Liu, D. Maskell, B. Schmidt: BMC Research Notes 2009, 2:73
Je suis convaincu, j en veux un!
BQR Université Lille 1 - Calcul intensif sur GPU Laboratoires LIFL et Painlevé a permis l achat de GPUs : des cartes dans des machines de bureau (ATI et NVidia disponibles) des GPU dans Grid5000 envie de faire un essai? venez nous voir!
plutôt bio-informaticien une formation OpenCL? plutôt bio-informaticien installation d un outil GPU? intégration dans un pipeline d analyse? plutôt bio-informaticien un logiciel à paralléliser? jean-stephane.varre@lifl.fr
plutôt bio-informaticien une formation OpenCL? plutôt bio-informaticien installation d un outil GPU? intégration dans un pipeline d analyse? plutôt bio-informaticien un logiciel à paralléliser? jean-stephane.varre@lifl.fr