PyTorch intègre CuteDSL comme quatrième backend de multiplication matricielle dans TorchInductor

iconKuCoinFlash
Partager
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconRésumé

expand icon
PyTorch a ajouté CuteDSL comme quatrième backend de multiplication matricielle dans TorchInductor, offrant un traitement amélioré des données sur chaîne pour les opérations de nœud complet. Conçu à partir de MetaEra, ce choix s'est fondé sur une faible maintenance, aucune ralentissement lors de la compilation et de meilleures performances sur les charges de travail clés. Développé par NVIDIA, CuteDSL utilise des modèles basés sur Python avec un temps de compilation rapide, en correspondance avec les backends existants et surpassant CUTLASS C++ en vitesse. Le backend reprend les abstractions de CUTLASS C++ et offre d'excellents résultats en FP8 GEMM et fusion Epilogue. L'équipe se concentre sur l'optimisation du GEMM, un composant central des modèles Transformer. CuteDSL génère du code de bas niveau via des modèles optimisés, simplifiant le développement des noyaux et améliorant les fonctionnalités spécifiques à l'architecture.

Selon les nouvelles de ME, le 7 avril (UTC+8), l'équipe officielle de PyTorch a annoncé avoir intégré CuteDSL comme quatrième backend d'ajustement automatique pour les multiplications matricielles dans TorchInductor. Ce backend a été choisi selon trois critères : ne pas augmenter la charge de maintenance, ne pas ralentir les temps de compilation ou de benchmark, et offrir de meilleures performances sur les charges de travail ciblées. CuteDSL, activement développé par NVIDIA, fournit des modèles de noyaux optimisés, avec des temps de compilation comparables à ceux des backends existants et nettement supérieurs à ceux du chemin C++ CUTLASS nécessitant une compilation complète avec `nvcc`. Ce backend est construit sur les mêmes abstractions que CUTLASS C++, mais écrit en Python, ce qui permet une compilation plus rapide et une maintenance plus simple, avec des performances éprouvées en matière de GEMM FP8 et de fusion Epilogue. L'équipe se concentre sur l'optimisation des GEMM (multiplications matricielles), car elles représentent la majeure partie de la charge de calcul dans les modèles Transformer. CuteDSL génère le code sous-jacent en fournissant des modèles optimisés à la main, évitant ainsi la complexité de l'écriture de noyaux depuis zéro, tout en exposant complètement la structure des threads et de la mémoire pour permettre l'utilisation de fonctionnalités spécifiques à l'architecture. (Source : InFoQ)

Clause de non-responsabilité : les informations sur cette page peuvent avoir été obtenues auprès de tiers et ne reflètent pas nécessairement les points de vue ou opinions de KuCoin. Ce contenu est fourni à titre informatif uniquement, sans aucune représentation ou garantie d’aucune sorte, et ne doit pas être interprété comme un conseil en investissement. KuCoin ne sera pas responsable des erreurs ou omissions, ni des résultats résultant de l’utilisation de ces informations. Les investissements dans les actifs numériques peuvent être risqués. Veuillez évaluer soigneusement les risques d’un produit et votre tolérance au risque en fonction de votre propre situation financière. Pour plus d’informations, veuillez consulter nos conditions d’utilisation et divulgation des risques.