Optimisation d'un noyau de multiplication matricielle dans CUDA avec les Tensor Cores

2025-04-19

Cet article détaille le processus suivi par l'auteur pour écrire un noyau de multiplication matricielle optimisé dans CUDA en utilisant les Tensor Cores sur une GPU NVIDIA Tesla T4. L'objectif était de calculer D = α * A * B + β * C le plus rapidement possible. Grâce à l'optimisation itérative de six noyaux, l'auteur a atteint des performances comparables à l'implémentation cuBLAS hgemm de NVIDIA, soulignant des techniques telles que le tiling hiérarchique, l'exploitation de la hiérarchie mémoire, la réutilisation des données, le chevauchement du calcul avec le déplacement des données et l'utilisation efficace des Tensor Cores. L'auteur partage les enseignements tirés du profilage et de l'optimisation, en soulignant l'importance de l'intensité arithmétique et de la bande passante mémoire.

Lire plus