Implementación oficial de FlashAttention, un kernel de atención exacta y eficiente en memoria para entrenar e inferir con modelos Transformer en GPU.
BBuf/how-to-optim-algorithm-in-cuda
Cuaderno personal de estudio e ingeniería con kernels CUDA escritos a mano, ejemplos de CUTLASS/CuTe y Triton, y notas sobre optimización de LLM.
- Estrellas
- 3,324
- Forks
- 297
- Issues abiertos
- 8
- Último commit
- hace 10 días
¿Qué es?
Este repositorio reúne implementaciones de kernels CUDA y notas sobre optimización de GPU. Incluye kernels escritos a mano para operaciones habituales, como reduce, softmax, operaciones elemento a elemento, GEMV, indexación, atomic add, upsampling y linear attention, organizados en el directorio cuda-kernels.
Además de los kernels, recopila material sobre CUTLASS y CuTe (GEMM, TMA, WGMMA y swizzling), kernels de Triton con interoperabilidad con PyTorch, apuntes de estudio sobre PTX ISA y aspectos internos de PyTorch relacionados con CUDA. También incluye notas de la serie de conferencias CUDA-MODE, optimización de serving y entrenamiento de LLM, y resúmenes de artículos sobre arquitectura de GPU.
Su autor mantiene el repositorio como cuaderno de estudio e ingeniería. Parte del material más antiguo está escrito en chino y se está reemplazando gradualmente por páginas de entrada en inglés.
Funciones clave
- 01Kernels CUDA escritos a mano para reduce, softmax, GEMV y otras operaciones habituales.
- 02Notas sobre CUTLASS y CuTe que abarcan GEMM, TMA, WGMMA y swizzling.
- 03Ejemplos de kernels de Triton con interoperabilidad con PyTorch.
- 04Apuntes de estudio sobre PTX ISA y aspectos internos de CUDA en PyTorch.
- 05Notas sobre optimización de inferencia y entrenamiento de LLM.
Casos de uso
- Estudiar paso a paso cómo se implementan en CUDA operadores habituales de GPU.
- Aprender CUTLASS/CuTe y Triton para trabajar con GEMM de alto rendimiento.
- Consultar detalles de nivel PTX al ajustar kernels de GPU.
- Consultar información de referencia sobre optimización de la inferencia de LLM.
Antes de usarlo
- No se especifica ninguna licencia, por lo que los derechos de reutilización no están claros.
- La mayoría de las notas antiguas están en chino y se están consolidando, así que parte del material podría estar incompleto o ser incoherente.
Temas
Preguntas frecuentes
- ¿Qué es how-to-optim-algorithm-in-cuda?
- Cuaderno personal de estudio e ingeniería con kernels CUDA escritos a mano, ejemplos de CUTLASS/CuTe y Triton, y notas sobre optimización de LLM. Este repositorio reúne implementaciones de kernels CUDA y notas sobre optimización de GPU. Incluye kernels escritos a mano para operaciones habituales, como reduce, softmax, operaciones elemento a elemento, GEMV, indexación, atomic add, upsampling y linear attention, organizados en el directorio cuda-kernels.
- ¿how-to-optim-algorithm-in-cuda es gratuito? ¿Qué licencia tiene?
- how-to-optim-algorithm-in-cuda no declara ninguna licencia. Su código es público, pero sin licencia no tienes permiso explícito para reutilizarlo; consulta al autor antes de depender de él.
- ¿how-to-optim-algorithm-in-cuda sigue mantenido?
- Mantenimiento activo. El último commit de how-to-optim-algorithm-in-cuda fue el 11 oct 2026.
- ¿Para qué puedo usar how-to-optim-algorithm-in-cuda?
- Estudiar paso a paso cómo se implementan en CUDA operadores habituales de GPU. Aprender CUTLASS/CuTe y Triton para trabajar con GEMM de alto rendimiento. Consultar detalles de nivel PTX al ajustar kernels de GPU. Consultar información de referencia sobre optimización de la inferencia de LLM.
- ¿Dónde consigo how-to-optim-algorithm-in-cuda?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/BBuf/how-to-optim-algorithm-in-cuda
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Biblioteca y servidor rápidos y eficientes en memoria para ejecutar y servir modelos de lenguaje grandes mediante una API compatible con OpenAI.
Una biblioteca de optimización de deep learning que facilita y hace más eficiente el entrenamiento distribuido y la inferencia de modelos grandes.
Sistema de entrenamiento e inferencia distribuidos, basado en PyTorch, para modelos grandes de IA, con paralelismo, optimización de memoria y entrenamiento heterogéneo.
Biblioteca de Python que ejecuta modelos de lenguaje grandes capa por capa para que los modelos de 70B puedan inferir en una sola GPU de 4 GB, sin cuantización.
SGLang es un framework de inferencia de código abierto para servir modelos de lenguaje, visión y difusión en diversas plataformas GPU, TPU y CPU.