Chapter 10.4 : Dans un GPU (WIP)
L'unité de calcul graphique GPU (Graphical Processing Unit) était à l'origine un composant dédier à l'affichage mais qui peut-être particulièrement efficace pour effectuer certains calculs...Dans ce chapitre, nous ne nous intéresserons qu'au composants liés au calcul et à la mémoire d'un GPU. Le chapitre 11.7 traite plus en détail d'autres aspects pratique de l'utilisation de GPU pour le calcul scientifique.
La vidéo suivante montre les différents niveaux de calcul et de mémoire d'un GPU :
Dans les granularités mémoire, outre la shared memory (local memory en OpenCL) et la mémoire globale (idem en OpenCL), tu peux aussi mentionner la mémoire constante (quelques Ko globalement accessibles, plus rapides que la mémoire globale).
Peut-être parler de la notion de command queue de Vulkan (plus ou moins équivalent aux streams en CUDA), qui représente la capacité d'un GPU d'effectuer certaines opérations en parallèle. Typiquement, tous les GPUs sérieux permettent d'exécuter du calcul et des transferts de données en même temps, et certains (plutôt du côté AMD historiquement, mais NVidia s'y sont mis plus récemment) permettent d'exécuter de la rasterization et des compute shaders (= l'implème typique de CUDA/OpenCL) en même temps. |