Au-delà de cuBLAS et CUTLASS : Un nouveau moteur de noyaux de multiplication matricielle

2025-07-19
Au-delà de cuBLAS et CUTLASS : Un nouveau moteur de noyaux de multiplication matricielle

La multiplication matricielle est au cœur du calcul moderne, notamment en IA où sa vitesse impacte directement les capacités du modèle. Si les accélérateurs matériels comme les Tensor Cores de NVIDIA sont efficaces, ils manquent de flexibilité. Cet article présente CubeCL, un nouveau moteur générant des noyaux de multiplication matricielle optimisés pour plusieurs plates-formes. CubeCL utilise une abstraction hiérarchique (Tile, Stage, Global, Batch Matmul) et divers algorithmes (Simple, Double Buffering, Ordered, etc.) pour y parvenir. Il exploite intelligemment les caractéristiques architecturales des GPU, comme l'exécution synchrone des plans et l'accès mémoire coalescé, utilisant des techniques comme le double buffering pour masquer la latence mémoire. Les benchmarks montrent des améliorations significatives des performances sur divers GPU (NVIDIA, AMD et Apple Silicon), surpassant même cuBLAS et CUTLASS dans certains cas.

Développement