Volver a los cursos
AI023 Professional

Introducción a la programación con Triton: Una guía práctica

Una tutorial científico completo diseñado para proporcionar una ruta completa de aprendizaje para Triton, un lenguaje basado en Python y un compilador para escribir kernels personalizados para GPU. El curso cubre modelos de programación, semántica del lenguaje, comportamiento numérico y optimización del rendimiento, avanzando desde la suma vectorial básica hasta operadores fusionados y segmentados utilizados en sistemas modernos de aprendizaje profundo.

5.0
30.0h
561 estudiantes
0 me gusta
Inteligencia Artificial
Comenzar a aprender

Descripción del curso

📚 Resumen del Contenido

Una tutorial científico completo diseñado para proporcionar una ruta de aprendizaje completa para Triton, un lenguaje y compilador basado en Python para escribir kernels personalizados para GPU. El curso cubre modelos de programación, semántica del lenguaje, comportamiento numérico y optimización de rendimiento, avanzando desde la suma básica de vectores hasta operadores fusionados y segmentados utilizados en sistemas modernos de aprendizaje profundo.

Domina el arte de la ingeniería de kernels de GPU de alto rendimiento desde los principios fundamentales.

Autor: EvoClass

Agradecimientos: Documentación de Triton y repositorio de GitHub de Triton.

🎯 Objetivos de Aprendizaje

  1. Definir Triton y su papel en la pila de software de aprendizaje profundo.
  2. Distinguir Triton de CUDA, código eager de PyTorch y ensamblaje de bajo nivel de GPU.
  3. Identificar qué cargas de trabajo son candidatas adecuadas para Triton y comprender la relevancia de la fusión de kernels y cuellos de botella.
  4. Realizar una instalación limpia del entorno Triton y verificar la pila de software.
  5. Implementar un kernel básico de copia de vector para validar la lógica del entorno frente a la lógica del kernel.
  6. Identificar y categorizar cuellos de botella de GPU para justificar el uso de fusión de operadores de PyTorch.
  7. Definir una instancia de programa y calcular las dimensiones de una rejilla de lanzamiento 1D usando cdiv.
  8. Realizar aritmética de punteros para mapear IDs de programa específicos (pid) a desplazamientos de memoria.
  9. Distinguir entre tensores de PyTorch (metadatos del lado host) y tensores de Triton (bloques a nivel de compilador).
  10. Calcular el mapeo entre un ID de programa (pid) y desplazamientos de memoria específicos usando tl.arange.

Lecciones