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.
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 |