Optimización de un kernel de multiplicación de matrices en CUDA con Tensor Cores

2025-04-19

Esta publicación detalla el proceso del autor para escribir un kernel de multiplicación de matrices optimizado en CUDA usando núcleos tensoriales en una GPU NVIDIA Tesla T4. El objetivo era calcular D = α * A * B + β * C lo más rápido posible. A través de la optimización iterativa de seis kernels, el autor logró un rendimiento comparable a la implementación cuBLAS hgemm de NVIDIA, destacando técnicas como el tiling jerárquico, la explotación de la jerarquía de memoria, la reutilización de datos, la superposición de cómputo con el movimiento de datos y el uso eficiente de los núcleos tensoriales. El autor comparte ideas obtenidas mediante el análisis de perfiles y la optimización, enfatizando la importancia de la intensidad aritmética y el ancho de banda de memoria.

Desarrollo