11.7.1 : Introduction



Les Graphical Processing Units (GPU) sont des composants électroniques qui ont été développés à l'origine pour effectuer des rendus graphiques. En effet, cette tâche nécessite une importante puissance de calcul puisque le signal reçu dans chaque pixel doit être calculé le plus rapidement possible afin que l'utilisateur puisse avoir une expérience fluide des animations affichées.

Grâce au GPUs, les CPUs ont été délestés de l'affichage et ont pu être améliorés pour effectuer des tâches plus complexes.

De nos jours les GPUs ont gagné en puissance de calcul et en efficacité et permettent les rendus de scènes en trois dimensions par l'utilisation de matrices $4\times4$ .

Cette puissance de calcul n'est cependant pas toujours nécessaire, mais il est dommage de ne pas l'utiliser. Par exemple des applications de simulations ou d'analyses de données n'ont pas vocation à afficher immédiatement des résultats. Mais il est possible d'utiliser les GPUs pour effectuer des calculs sans faire de rendu sur un écran, c'est le General-Purpose computing on Graphics Processing Units ou GPGPU.

nothing nothing nothing nothing

Figure 53 : GPUs utilisés pour le calcul. En haut à gauche : Quadro. En haut à droite : Tesla Kepler 80. En bas à gauche : Tesla Pascal 100. En bas à droite : Volta 100.



La figure 53 montre des GPUs NVidia utilisés pour le calcul qui sont présents dans les centres de calculs de l'IN2P3. Le tableau 5 montre les différentes caractéristiques de quelques-unes de ces cartes.

K80 P100 V100
Fréquence de base 560~MHz 1480~MHz 1530~MHz
Mémoire RAM 24~GB 16~GB 16~GB
Nombre de cœurs 4992 3584 5120
Perf double précision 2.91~TFlops 5.3~TFlops 7.8~TFlops
Perf simple précision 8.74~TFlops 10.6~TFlops 15.7~TFlops
Perf demi précision - 18.7~TFlops -
Vitesse mémoire 480~Gbits/s 732~Gbits/s pic 900~GB/s
Consommation maximale 300~W 300~W 300~W

Table 5 : Différentes caractéristiques des GPU Tesla.