Más allá de cuBLAS y CUTLASS: Un nuevo motor de kernel de multiplicación de matrices
La multiplicación de matrices es fundamental para la computación moderna, especialmente en IA, donde su velocidad impacta directamente en la capacidad del modelo. Si bien los aceleradores de hardware como los Tensor Cores de NVIDIA son eficientes, carecen de flexibilidad. Este artículo presenta CubeCL, un nuevo motor que genera kernels de multiplicación de matrices optimizados para varias plataformas. CubeCL utiliza una abstracción jerárquica (Tile, Stage, Global, Batch Matmul) y varios algoritmos (Simple, Double Buffering, Ordered, etc.) para lograr esto. Aprovecha inteligentemente las características de la arquitectura de la GPU, como la ejecución síncrona de planos y el acceso a memoria coalescido, empleando técnicas como el doble búfer para ocultar la latencia de memoria. Los benchmarks muestran mejoras significativas en el rendimiento en varias GPU (NVIDIA, AMD y Apple Silicon), incluso superando a cuBLAS y CUTLASS en algunos casos.
Leer más