Implementación oficial de FlashAttention, un kernel de atención exacta y eficiente en memoria para entrenar e inferir con modelos Transformer en GPU.
microsoft/antares
AutoRT es una herramienta de compilación que ayuda a los desarrolladores a crear, evaluar y optimizar operadores de PyTorch para sus propios aceleradores.
- Estrellas
- 470
- Forks
- 51
- Issues abiertos
- 12
- Último commit
- hace 14 días
¿Qué es?
AutoRT, la siguiente generación del proyecto Antares de Microsoft, es una solución de compilación para usuarios del runtime que quieren escribir, evaluar y ajustar operadores de PyTorch para sus propios aceleradores. Los kernels se escriben como cuerpos de funciones en CUDA o HIP C++, con una pequeña cabecera que declara las formas de los tensores de entrada y salida y las vinculaciones de lanzamiento.
El proyecto ofrece una herramienta de línea de comandos llamada autort. Un kernel básico se define en línea con una firma de función, vinculaciones de formas y un cuerpo que usa blockIdx y threadIdx; AutoRT lo compila y ejecuta. El repositorio también incluye una guía SKILLS.md dirigida a agentes de IA que necesiten escribir estos kernels.
Los entornos recomendados son imágenes de Docker para CUDA (Ubuntu 24.04 con CUDA 12.8) y ROCm (Ubuntu 24.04 con ROCm 7.2.4). La documentación manual anterior y la documentación heredada se conservan como referencia, pero están marcadas como obsoletas.
Funciones clave
- 01Permite escribir kernels de operadores de PyTorch con sintaxis de CUDA o HIP C++.
- 02Ofrece una herramienta de línea de comandos llamada autort que compila y ejecuta definiciones de kernels en línea.
- 03Permite declarar las formas de los tensores y las vinculaciones de lanzamiento en una cabecera breve.
- 04Incluye una guía SKILLS.md para agentes de IA que escriben kernels.
- 05Ofrece configuraciones de Docker para entornos CUDA y ROCm.
Casos de uso
- Crear prototipos de un operador personalizado de PyTorch en GPU NVIDIA.
- Adaptar o ajustar operadores para GPU AMD con ROCm.
- Permitir que un agente de IA genere y pruebe kernels para aceleradores.
Inicio rápido
- 1
Configura la imagen de Docker recomendada para CUDA o ROCm
- 2
Ejecuta el ejemplo Hello World con el comando autort
autort -n hello_world_example --source=' @DEF_FUNC: input:float32[B, M] -> output:float32[B, M] @DEF_BIND: ~B~:1, ~%~:1024 void main() { if (int(blockIdx.x) == 0 && int(threadIdx.x) == 0) printf("(autort) Hello World!\n"); }'
Antes de usarlo
- El README no incluye un comando de instalación con un gestor de paquetes, por lo que la configuración depende de las imágenes de Docker recomendadas.
- Se requiere un entorno con acelerador CUDA o ROCm.
- El README remite a un manual obsoleto y a documentación heredada de versiones anteriores.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es antares?
- AutoRT es una herramienta de compilación que ayuda a los desarrolladores a crear, evaluar y optimizar operadores de PyTorch para sus propios aceleradores. AutoRT, la siguiente generación del proyecto Antares de Microsoft, es una solución de compilación para usuarios del runtime que quieren escribir, evaluar y ajustar operadores de PyTorch para sus propios aceleradores. Los kernels se escriben como cuerpos de funciones en CUDA o HIP C++, con una pequeña cabecera que declara las formas de los tensores de entrada y salida y las vinculaciones de lanzamiento.
- ¿antares es gratuito? ¿Qué licencia tiene?
- antares es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿antares sigue mantenido?
- Mantenimiento activo. El último commit de antares fue el 23 oct 2026.
- ¿Para qué puedo usar antares?
- Crear prototipos de un operador personalizado de PyTorch en GPU NVIDIA. Adaptar o ajustar operadores para GPU AMD con ROCm. Permitir que un agente de IA genere y pruebe kernels para aceleradores.
- ¿Cómo se instala antares?
- Configura la imagen de Docker recomendada para CUDA o ROCm Ejecuta el ejemplo Hello World con el comando autort: autort -n hello_world_example --source=' @DEF_FUNC: input:float32[B, M] -> output:float32[B, M] @DEF_BIND: ~B~:1, ~%~:1024 void main() { if (int(blockIdx.x) == 0 && int(threadIdx.x) == 0) printf("(autort) Hello World!\n"); }'
- ¿Dónde consigo antares?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/microsoft/antares
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Framework de Python que compila redes neuronales profundas en código C++ CUDA/HIP fp16 para inferencias rápidas en GPU de NVIDIA y AMD.
Servidor de inferencia de LLM en C++ para GPU de consumo y equipos con hardware AMD y NVIDIA, con speculative decoding, speculative prefill y kernels personalizados.
Biblioteca de arrays compatible con NumPy/SciPy que ejecuta código Python existente en GPU NVIDIA CUDA o AMD ROCm.
Lenguaje y compilador para escribir kernels personalizados de deep learning para GPU, muy eficientes y con código similar a Python, con mayor productividad que CUDA.
Compilador y runtime basados en MLIR que traducen modelos de ML a una IR unificada para desplegarlos desde centros de datos hasta dispositivos móviles y edge.