Retour aux cours
AI023 Professional

Introduction à la programmation Triton : Un tutoriel pratique

Un tutoriel scientifique complet conçu pour offrir un parcours d'apprentissage complet sur Triton, un langage basé sur Python et un compilateur permettant d'écrire des noyaux GPU personnalisés. Le cours couvre les modèles de programmation, la sémantique du langage, le comportement numérique et l'optimisation des performances, en passant du traitement vectoriel de base à des opérateurs fusionnés et structurés par tuiles utilisés dans les systèmes modernes d'apprentissage profond.

5.0
30.0h
561 étudiants
0 j'aime
Intelligence Artificielle
Commencer à apprendre

Aperçu du cours

📚 Résumé du contenu

Un tutoriel scientifique complet conçu pour offrir une trajectoire d'apprentissage complète sur Triton, un langage et un compilateur basés sur Python permettant d'écrire des noyaux GPU personnalisés. Ce cours couvre les modèles de programmation, la sémantique du langage, le comportement numérique et l'optimisation des performances, en passant du calcul vectoriel élémentaire à des opérateurs fusionnés et segmentés utilisés dans les systèmes modernes d'apprentissage profond.

Maîtrisez l'art de l'ingénierie de noyaux GPU haute performance depuis les fondamentaux.

Auteur : EvoClass

Remerciements : Documentation Triton et dépôt GitHub Triton.

🎯 Objectifs d'apprentissage

  1. Définir Triton et son rôle dans la pile logicielle d'apprentissage profond.
  2. Différencier Triton de CUDA, du code eager PyTorch et de l'assemblage GPU de bas niveau.
  3. Identifier les charges de travail adaptées à Triton et comprendre l'importance de la fusion de noyaux et des goulets d'étranglement.
  4. Effectuer une installation propre de l'environnement Triton et vérifier la pile logicielle.
  5. Implémenter un noyau de copie vectorielle de base pour valider la logique de l'environnement par rapport à celle du noyau.
  6. Identifier et catégoriser les goulets d'étranglement GPU afin de justifier l'utilisation de la fusion d'opérateurs PyTorch.
  7. Définir une instance de programme et calculer les dimensions d'une grille d'exécution 1D à l'aide de cdiv.
  8. Effectuer des opérations arithmétiques sur les pointeurs pour mapper des ID de programme spécifiques (pid) aux décalages mémoire.
  9. Distinction entre les tenseurs PyTorch (méta-données côté hôte) et les tenseurs Triton (blocs au niveau du compilateur).
  10. Calculer la correspondance entre un ID de programme (pid) et des décalages mémoire spécifiques en utilisant tl.arange.

Leçons