GPU, processeurs multi-coeurs et bio-informatique - LIFL

peaceevenBiotechnology

Oct 4, 2013 (3 years and 10 months ago)

99 views

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)
Le processeur (CPU)
La carte
graphique
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
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
"le GPU est au CPU ce que le supertanker est au hors-bord"
Jen-Hsun Huang, Nvidia
très nombreux coeurs 240
plusieurs coeurs 2,4,8
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

“utiliser le processeur graphique (GPU) pour
exécuter des tâches de calcul polyvalentes de
science et d’ingénierie”
General Purpose GPU
Une carte graphique ...
... sans sortie graphique !!!
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
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
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 ?
plus aisé qu’avant !


CUDA (2006)

NVidia

basé sur le langage C

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

OpenCL (2009)

tout processeur à plusieurs coeurs

nécessite un compilateur spécifique au
matériel
PyCUDA/PyOpenCL
En OpenCL
En CUDA
En OpenCL
En CUDA
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
les instructions du
programme sont
exécutées en parallèle
Grille
un programme déjà
existant
que je distribue sur
différentes
machines
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