Esta es la segunda publicación de la serie de blogs Ranking Engineer Agent que explora las capacidades autónomas de IA que aceleran la innovación de Meta's Ads Ranking.. El publicación anterior introdujo la capacidad de exploración de aprendizaje automático del agente Ranking Engineer, que diseña de forma autónoma, ejecuta, y analiza experimentos de modelos de clasificación. Esta publicación cubre cómo optimizar la infraestructura de bajo nivel que hace que esos modelos se ejecuten eficientemente a escala.. Presentamos KernelEvolve, un sistema de creación de kernel agente utilizado por Ranking Engineer Agent y generalmente aplicable a una variedad de modelos de IA más allá de Ads Ranking.

Resumen

  • Meta opera una gran flota de hardware heterogéneo: GPU NVIDIA, GPU AMD, Chips de silicio MTIA personalizados de Meta, y CPU. El uso eficaz y eficiente de este hardware requiere desarrollar software que traduce operaciones de modelos de alto nivel en eficientes, instrucciones específicas del chip llamadas núcleos optimizados. Se deben crear y optimizar núcleos para cada nueva generación de chips y arquitectura de modelo de aprendizaje automático.. Más allá de los operadores de kernel estándar como multiplicaciones de matrices generales (GEMM) y convoluciones cubiertas por bibliotecas de proveedores, Las cargas de trabajo de producción requieren muchos operadores personalizados en todos los modelos de clasificación.. Con la cantidad de modelos y la cantidad de tipos y generaciones de hardware., el ajuste manual realizado por expertos en el kernel no escala.
  • Para abordar el volumen de trabajo de optimización del rendimiento requerido por el creciente número de modelos X número de tipos de hardware & generaciones, nosotros construimos KernelEvolve, un agente para optimizar el rendimiento utilizado por Agente ingeniero de clasificación de Meta. Permite:
    • Desarrollo más rápido: Comprime semanas de tiempo de ingeniería experta optimizando kernels, incluyendo perfiles, optimizando, y depuración entre hardware, en horas de búsqueda y evaluación automatizadas, liberar a los ingenieros para otros trabajos.
    • Better performance: Encima 60% mejora del rendimiento de inferencia para el Andrómeda Modelo de anuncios en GPU NVIDIA y superiores 25% Mejora del rendimiento del entrenamiento para un modelo de anuncios en chips de silicio MTIA personalizados de Meta..
    • Amplia aplicabilidad: Optimiza el hardware público y propietario, incluidas las GPU NVIDIA, GPU AMD, desaparecido en combate chips y CPU, Generando kernels en DSL de alto nivel como Triton., Lindo ADSL, y FlyDSL, así como lenguajes de bajo nivel, incluido CUDA, CADERA, y MTIA C++.
  • KernelEvolve trata la optimización del kernel como un problema de búsqueda: un conjunto de tareas especialmente diseñado evalúa cada núcleo candidato, envía los diagnósticos al LLM, e impulsa una búsqueda continua de cientos de alternativas, superando el rendimiento de los núcleos generados por expertos humanos.
  • Más detalles están disponibles en el documento., “KernelEvolve: Ampliación de la codificación de kernel agente para aceleradores de IA heterogéneos en Meta,”que aparecerá en el 53III Simposio Internacional de Arquitectura de Computadores (CARNADA) 2026.

Cada día, Meta ofrece miles de millones de experiencias impulsadas por IA, desde recomendaciones personalizadas hasta asistentes de IA generativa, en una infraestructura global que incluye hardware diverso de NVIDIA, AMD, y los chips de silicio MTIA personalizados de Meta. Detrás de cada solicitud de entrenamiento o inferencia se encuentra una capa de núcleos de hardware de bajo nivel altamente optimizados.: Pequeños programas que traducen operaciones de modelos de alto nivel en instrucciones que un chip específico puede ejecutar de manera eficiente.. A medida que los modelos de IA se vuelven más complejos y el panorama del hardware se diversifica, El número de núcleos se escala entre plataformas de hardware., arquitecturas de modelos y tipos de operadores, lo que da como resultado miles de configuraciones que los expertos humanos ya no pueden ajustar de manera realista, creando un cuello de botella crítico que retrasa la habilitación del hardware y el ajuste del rendimiento y ralentizando los ciclos de iteración del modelo que impulsan avances críticos en la tecnología ML y sus aplicaciones..

Hoy, estamos compartiendo KernelEvolve, un sistema de IA agente que mejoró el rendimiento de inferencia del modelo de anuncios al 60% en horas de experimentación, una tarea que llevaría semanas a expertos humanos. KernelEvolve genera y optimiza de forma autónoma kernels de nivel de producción para hardware heterogéneo utilizado en entrenamiento e inferencia., incluyendo GPU NVIDIA, GPU AMD, Silicio MTIA personalizado de Meta, y CPU. A diferencia del modelo típico de lenguaje grande (LLM)-agentes basados ​​​​que realizan generación de código de un solo uso, KernelEvolve trata la optimización del kernel como un problema de búsqueda. Explora cientos de implementaciones de kernel alternativas para identificar una solución que a menudo iguala o supera el desempeño humano experto., y lo hace en horas en lugar de semanas. En el entorno de producción de Meta, KernelEvolve está optimizando el código que atiende billones de solicitudes de inferencia diarias.

KernelEvolve representa un cambio fundamental en nuestra forma de pensar sobre la relación entre el software y el hardware de IA.. Donde el desarrollo del kernel alguna vez fue un manual, Proceso impulsado por expertos que luchó por seguir el ritmo de la evolución del hardware y del modelo., KernelEvolve lo hace continuo y automatizado, adaptándose a cada cambio. Mientras Meta continúa diversificando su cartera de hardware de IA, the ability to rapidly generate optimized kernels for new chips substantially reduces the engineering effort required to integrate heterogeneous hardware for training and inference.

El desafío: El cuello de botella del crecimiento explosivo del núcleo

Estamos viendo un crecimiento explosivo de los granos porque el número total de granos aumenta con el producto de tres factores.: {tipos y generaciones de hardware X arquitecturas de modelos X número de operadores}. Este producto genera miles de configuraciones de kernel únicas que deben escribirse, probado, y mantenido. Ajustar manualmente cada kernel no escala, y los expertos en kernel por sí solos no pueden seguir el ritmo.

Heterogeneidad del hardware

La flota de aceleradores de Meta ahora incluye GPU NVIDIA, GPU AMD, y la costumbre de Meta desaparecido en combate silicio, cada uno con arquitecturas y jerarquías de memoria fundamentalmente diferentes, conjuntos de instrucciones, y modelos de ejecución. Un kernel que se ejecuta de manera óptima en una plataforma puede funcionar mal o fallar por completo en otra. Y la complejidad no se limita a los límites de los proveedores. Incluso dentro de una única familia de hardware, Las generaciones sucesivas introducen cambios arquitectónicos que requieren diferentes estrategias de optimización.. La hoja de ruta MTIA de Meta abarca cuatro generaciones de chips en dos años (desaparecido en combate 300 a través de 500), cada uno presenta nuevas capacidades informáticas, características del ancho de banda de la memoria, y tipos de datos numéricos optimizados para cargas de trabajo en evolución. Un kernel optimizado para una generación tendrá un rendimiento inferior cuando se ejecute en la próxima generación con la misma arquitectura de hardware..

Variación de la arquitectura del modelo

Los modelos de recomendación de Meta han evolucionado a través de tres fases principales.: de los primeros modelos de recomendación de aprendizaje profundo basados ​​en integración, a modelos de aprendizaje secuencial que procesan historias de compromiso con mecanismos de atención, a Meta Modelo de recomendación de anuncios generativos (JOYA), y más recientemente Meta Modelo de inferencia fundamental que lleva la escala LLM a los anuncios. (Modelo de clasificación metaadaptativo). Cada generación introduce tipos de operadores que la generación anterior nunca necesitó. Más allá de estos cambios generacionales, La pila de producción de Meta sirve simultáneamente a familias de modelos fundamentalmente diferentes, cada uno con sus propios operadores únicos, y una sola solicitud de anuncios puede abarcar varias familias en una llamada de publicación. Con un número enorme y creciente de modelos distintos en producción, Cada nueva arquitectura amplía la matriz de operadores que deben optimizarse en todo el hardware..

Diversidad del kernel más allá de las bibliotecas estándar

Las bibliotecas de proveedores como cuBLAS y cuDNN cubren un conjunto de operaciones comunes: GEMM, convoluciones, activaciones estándar, pero incluso estos operadores estándar se resisten a soluciones únicas. Un único operador como la multiplicación de matrices se comporta de manera diferente en distintos contextos: El núcleo óptimo para un lote de entrenamiento difiere de una solicitud de servicio de inferencia, y las formas de los tensores varían ampliamente entre las etapas de clasificación y los modelos de clasificación., crear un espacio combinatorio de configuraciones que ni los expertos humanos ni el autoajuste y la fusión basados ​​en compiladores actuales pueden cubrir completamente a escala. Más allá de los operadores estándar, Las cargas de trabajo de producción están dominadas por una larga cola de operadores que quedan fuera de la cobertura de la biblioteca.. Estos incluyen transformaciones de preprocesamiento de datos como hash de características., cubos, y truncamiento de secuencia que prepara la entrada sin procesar para la inferencia del modelo, así como operadores de modelos personalizados, como capas de interacción de características fusionadas y variantes de atención especializadas que son exclusivas de las arquitecturas de Meta..

Ninguno de estos operadores personalizados aparece en las bibliotecas de proveedores., y muchos son demasiado específicos de la carga de trabajo para justificar una implementación de biblioteca. Sin implementaciones de aceleradores nativos, Estos operadores recurren a la CPU, lo que obliga a arquitecturas de servicio desagregadas con una importante sobrecarga de latencia, o se ejecutan a través de rutas de código no optimizadas que infrautilizan el hardware..

El problema se agrava con la diversidad de hardware. Un kernel NVIDIA ajustado a mano no se puede simplemente recompilar para GPU AMD o MTIA. Cada nueva arquitectura del modelo extiende aún más la cola., y cada nuevo chip multiplica el trabajo necesario para cubrirlo.

Cómo KernelEvolve aborda estos desafíos

Cada desafío se relaciona con una decisión arquitectónica específica:

Desafío Cómo lo aborda KernelEvolve
Heterogeneidad del hardware Una base de conocimientos mejorada mediante recuperación incorpora documentación específica de la plataforma, incluidos manuales de arquitectura., conjuntos de instrucciones, y/o patrones de optimización en el contexto de generación. El LLM analiza esta documentación en el momento de la inferencia: no se requiere capacitación previa sobre el hardware de destino.. Una única interfaz de avisos universal elimina las plantillas de avisos por plataforma.
Variación de la arquitectura del modelo La búsqueda en árbol explora alternativas de implementación para cualquier operador, incluyendo los novedosos. Las optimizaciones exitosas se resumen en patrones reutilizables que se transfieren entre familias de modelos: una optimización descubierta para una arquitectura acelera operadores similares en otras futuras..
Diversidad de núcleos / cola larga La evaluación automatizada valida cientos de candidatos en paralelo. La optimización basada en búsquedas reemplaza la necesidad de ajuste manual, hacer que los operadores sean factibles que de otro modo no justificarían semanas de ajuste manual.


KernelEvolve: Buscando núcleos óptimos

KernelEvolve aborda este desafío de manera diferente a los asistentes de codificación de IA estándar. En lugar de pedirle a un LLM que genere un único núcleo y lo pruebe, El sistema formaliza la optimización del kernel como un problema de búsqueda estructurado en el espacio de posibles implementaciones.. Debajo del capó, un equipo de trabajo de larga duración especialmente diseñado impulsa cada iteración: compilar candidatos, evaluar la corrección y el desempeño, utilización del hardware de perfilado, y generar informes de análisis, todo ello mientras se manejan los ciclos de construcción de varios minutos y las fallas de infraestructura que hacen que los enfoques nativos no sean prácticos..

imagen[1]-KernelEvolve: Cómo el agente de ingeniería de clasificación de Meta optimiza la infraestructura de inteligencia artificial para Windows 7,8,10,11-Winpcsoft.com
Cifra 1: ​​Cómo fluye una solicitud de optimización del kernel a través de los seis componentes de KernelEvolve.

Sintetizador LLM

Un LLM genera núcleos candidatos en múltiples lenguajes de programación y objetivos de hardware, desde DSL de alto nivel como Triton., TLX, Lindo DSL, y FlyDSL, a backends de bajo nivel, incluido CUDA, CADERA, y MTIA C++.

En lugar de utilizar mensajes estáticos, el sintetizador construye dinámica, indicaciones sensibles al contexto que se enriquecen continuamente con diagnósticos en tiempo de ejecución, restricciones de hardware, y las señales históricas de la evaluación de optimización de candidatos anterior. Esto reemplaza el enfoque tradicional de mantener plantillas de aviso separadas para la depuración., ajuste de rendimiento, y verificación de corrección con una única interfaz adaptable que unifica estos flujos de trabajo en una única interfaz adaptable que impulsa un continuo, bucle de optimización impulsado por retroalimentación.

Motor de búsqueda de árboles

El sistema explora el espacio de optimización utilizando algoritmos de búsqueda basados ​​en gráficos., incluyendo la búsqueda de árboles de Monte Carlo y estrategias evolutivas. Cada candidato a kernel se convierte en un nodo en un árbol de búsqueda.. El motor selecciona candidatos prometedores, aplica transformaciones, evalúa resultados, y decide si explorar más o retroceder, equilibrando la explotación de estrategias conocidas con la exploración de enfoques novedosos..

Fundamentalmente, Los nodos no evolucionan de forma aislada.. Cada nodo lleva un operador de memoria configurable que determina cómo extrae el contexto del árbol de búsqueda al generar la siguiente ronda de candidatos.. Un nodo puede heredar la trayectoria de optimización de su padre para refinar una dirección prometedora, comparar con hermanos para saber qué diferencia a las variantes de alto rendimiento, Combinar conocimientos de las historias de los padres y de los hermanos., o empezar desde cero para escapar de los óptimos locales. Este mecanismo de memoria selectiva permite que la búsqueda en árbol vaya más allá del simple muestreo independiente: los nodos hermanos colaboran mostrando estrategias complementarias., Las cadenas padre-hijo preservan y profundizan las rutas de optimización exitosas., y los reinicios sin memoria inyectan diversidad cuando la búsqueda se estanca.

imagen[2]-KernelEvolve: Cómo el agente de ingeniería de clasificación de Meta optimiza la infraestructura de inteligencia artificial para Windows 7,8,10,11-Winpcsoft.com
Cifra 2: Cómo el motor de búsqueda de árboles navega por el espacio de optimización para encontrar núcleos de alto rendimiento.

Base de conocimientos mejorada con recuperación

Para generar código optimizado para hardware, el LLM subyacente nunca fue entrenado, KernelEvolve mantiene una base de conocimiento jerárquica organizada en tres categorías: Restricciones de corrección que imponen implementaciones válidas del kernel., Guía de optimización independiente de la plataforma que cubre estrategias de depuración y ajuste., y documentación específica del hardware que contiene detalles arquitectónicos para cada plataforma de acelerador. El sistema recupera conocimientos relevantes de forma dinámica basándose en señales de tiempo de ejecución.. Por ejemplo, un cuello de botella en el ancho de banda de la memoria desencadena la recuperación de la documentación de la jerarquía de la memoria; un error de compilación activa la guía de depuración.

Esta base de conocimientos no es estática.. A medida que el sistema resuelve nuevos problemas de optimización, destila estrategias exitosas en habilidades reutilizables (patrones de optimización compactos y heurísticas de depuración) que se escriben continuamente en la base de conocimientos.. Esta biblioteca de habilidades que evoluciona automáticamente actúa como una forma de aprendizaje por refuerzo en contexto: Cada exploración exitosa enriquece el contexto disponible para futuras sesiones., Permitir que el sistema resuelva problemas similares más rápido y con menos pasos de búsqueda., sin necesidad de volver a entrenar el modelo.

Marco de evaluación automatizado

Cada núcleo generado pasa por un riguroso proceso de validación que verifica tanto la corrección (precisión bit a bit frente a implementaciones de referencia) como el rendimiento.. Y la evaluación va mucho más allá de un único número de tiempo de ejecución..

KernelEvolve aprovecha una pila de herramientas de creación de perfiles, cada uno apunta a un nivel diferente de análisis. Banco Tritón valida la corrección numérica frente a las líneas base de PyTorch y mide la velocidad de un extremo a otro en todas las formas de entrada de producción.. PyTorch Profiler captura cronogramas de ejecución a nivel del sistema, incluida la sobrecarga de lanzamiento del kernel y la sincronización del dispositivo host. Para objetivos de GPU, herramientas como UCN proporcionar métricas de hardware a nivel de kernel: ocupación, rendimiento de la memoria, mezcla de instrucciones - mientras Protón Ofrece latencia a nivel de instrucción intrakernel y comportamiento de canalización.. Para objetivos MTIA, MTIA Insight proporciona instrumentación integral específica para aceleradores: uso de educación física, métricas del motor de función fija (DPE, SFU, Utilización de MLU y ciclos de parada), comportamiento de caché, y contadores de ancho de banda de memoria por PE.

En lugar de tratar estas herramientas como pasos independientes, KernelEvolve los unifica mediante una abstracción centrada en el compilador. El marco compone análisis a través de gráficos de trabajo.: El compilador transforma la instrumentación de nivel MLIR., los pases de creación de perfiles recopilan métricas, y la síntesis de trazas produce resultados estructurados. Esto significa que el motor de búsqueda no sólo ve "el núcleo A es 1,2 veces más rápido que el núcleo B", sino que ve por qué.: si el cuello de botella está ligado a la memoria, vinculado a la computación, o limitado por la ocupación, y envía esa señal de diagnóstico al sintetizador LLM para guiar la siguiente ronda de candidatos..

Fundación de datos compartidos

Cada sesión de optimización contribuye a una base de datos compartida.. Cuando la exploración de un ingeniero descubre una estrategia de mosaico eficaz para una clase de operadores, esa información estará disponible para cada sesión futura dirigida a cargas de trabajo similares, creando un efecto compuesto en el que el sistema se vuelve más capaz con cada uso.. Los primeros usuarios realizan la exploración más difícil; Los usuarios posteriores heredan puntos de partida mucho más cercanos a los óptimos y los refinan a partir de ahí..

Aprendizaje por refuerzo agente

Cada sesión de optimización genera datos de entrenamiento estructurados como un subproducto natural: trayectorias agentes que capturan el razonamiento, transformaciones de código, y comentarios de evaluación detrás de núcleos de alto rendimiento. Estos datos específicos de un dominio son raros y valiosos.. Codifica la intuición de optimización que ningún conjunto de datos públicos contiene..

Usamos estos datos para post-entrenar a los más pequeños., Modelos especializados a través del aprendizaje por refuerzo agente., donde la señal de recompensa proviene directamente del rendimiento medido del kernel. El resultado es un círculo virtuoso en el que mejores modelos producen mejores núcleos con menos tokens de razonamiento y menos pasos de búsqueda., que a su vez generan datos de entrenamiento de mayor calidad. Durante iteraciones sucesivas, Este volante compuesto nos permite alojar modelos cada vez más eficientes que son lo suficientemente compactos como para funcionar de manera rentable a escala y al mismo tiempo conservar la capacidad de optimización de modelos fronterizos mucho más grandes..

Habilitación de chips de IA patentados

Una de las capacidades más importantes de esta arquitectura es su capacidad para generar código optimizado para hardware que no existe en ningún conjunto de datos de entrenamiento público..

Los chips MTIA personalizados de Meta presentan un desafío de programación único. Porque estos chips son propietarios, ningún LLM público ha sido capacitado en el código MTIA. Un asistente de codificación estándar carece del contexto para escribir núcleos MTIA optimizados porque nunca ha visto la documentación de MTIA., detalles del conjunto de instrucciones, o modismos de programación.

KernelEvolve resuelve esto mediante la inyección sistemática de conocimiento. Codificamos documentación específica de MTIA (manuales de arquitectura, referencias del conjunto de instrucciones, especificaciones de jerarquía de memoria, y patrones de optimización) directamente a la base de conocimientos de recuperación aumentada. Cuando el sistema apunta a MTIA, recupera e incorpora este conocimiento propietario en su razonamiento, “aprender” efectivamente el hardware en tiempo real.

Este enfoque se extiende a cualquier acelerador nuevo.. Cuando llega un nuevo chip, el costo de ingeniería pasa de escribir miles de núcleos a mano a seleccionar un conjunto de documentos de hardware e inyectarlos en la base de conocimientos.. Luego, el sistema genera de forma autónoma núcleos optimizados para la nueva plataforma., Garantizar que la pila de software esté lista a la velocidad de implementación del hardware en lugar de a la velocidad de la ingeniería manual..

El impacto de KernelEvolve en los puntos de referencia y la producción

KernelEvolve ha obtenido resultados sólidos tanto en pruebas de referencia estandarizadas como en cargas de trabajo de producción..

Rendimiento de referencia: En KernelBench, un conjunto de referencia de 250 Problemas de optimización del kernel de Stanford que abarcan tres niveles de dificultad., KernelEvolve logra un 100% aprobar tasa — todos los núcleos generados son funcionalmente correctos y más rápidos que sus implementaciones de referencia de PyTorch. El sistema también valida 160 PyTorch ADiez operadores con 100% Corrección en tres plataformas de hardware. (480 configuraciones totales).

Producción aceleraciones: Tiene chips MTIA de Meta, KernelEvolve genera núcleos, que abarcaba la computación, ligado a la memoria, y operaciones personalizadas, logró aceleraciones de más de 25% Mejora del rendimiento del entrenamiento en un modelo de anuncios.. En las GPU NVIDIA, entregó más de 60% Mejora del rendimiento de inferencia sobre un modelo con núcleos altamente optimizados que incluyen torch.compile y bibliotecas de proveedores: ganancias de rendimiento que se traducen directamente en capacidad de servicio y eficiencia de la infraestructura..

Hardware cobertura: El sistema genera kernels optimizados para las GPU NVIDIA, GPU AMD, Silicio MTIA personalizado de Meta, y CPU, desde un único marco unificado. En lugar de mantener plantillas de mensajes separadas por plataforma, el sistema recupera dinámicamente restricciones y patrones de optimización específicos del hardware, Adaptarse a cada objetivo mediante el aumento de la recuperación en lugar de la ingeniería manual..

Velocidad de desarrollo

Desarrollo de kernel que anteriormente requería semanas de esfuerzo experto: creación de perfiles, iterando sobre estrategias de mosaico, depuración de casos extremos en todo el hardware: ahora se completa en horas mediante búsqueda y evaluación automatizadas. Esto desplaza el tiempo del ingeniero de escribir código de bajo nivel a trabajos de mayor valor, como el diseño de arquitecturas modelo., mejorar las técnicas de entrenamiento, y definir objetivos de optimización.

Cómo encaja todo

Un ingeniero especifica un operador objetivo, plataforma de hardware, y objetivos de rendimiento. El sistema entonces de forma autónoma:

  1. recupera Documentación de hardware relevante y conocimientos de optimización de la base de conocimientos..
  2. Genera un conjunto inicial de candidatos de kernel que utilizan el sintetizador LLM con indicaciones contextuales.
  3. Evalúa cada candidato para la corrección y el rendimiento utilizando la infraestructura de evaluación comparativa distribuida.
  4. Resultados de feeds volver al buscador, que selecciona los candidatos más prometedores y aplica más optimizaciones.
  5. itera pasos 1-4, explorar el árbol de búsqueda hasta que se cumplan los criterios de terminación: o se logra un objetivo de rendimiento, el presupuesto de búsqueda está agotado, o puestos de progreso.
  6. Salidas el mejor desempeño, kernel completamente validado, listo para la implementación de producción.

El proceso se ejecuta en la infraestructura distribuida de Meta., evaluando miles de candidatos en paralelo. El almacenamiento persistente de implementaciones y árboles de búsqueda permite que el sistema se base en resultados anteriores al apuntar a un nuevo modelo. variantes o generaciones de hardware.

Mirando hacia el futuro

Las mismas técnicas agentes que impulsan KernelEvolve: razonamiento estructurado, conocimiento aumentado de recuperación, Evaluación de circuito cerrado: se puede aplicar a la búsqueda de modelos híbridos., optimización del compilador, gestión de la memoria, y configuración del sistema. KernelEvolve representa un primer paso hacia la visión de una Agente ingeniero de rango que puede optimizar continuamente su propia infraestructura crítica para el rendimiento.

Dentro de REA, Exploración de aprendizaje automático descubre mejores modelos. KernelEvolve los prepara para producción. Juntos, aceleran la rapidez con la que las mejoras de clasificación llegan a los anunciantes.

En la próxima publicación de la serie REA., donde exploraremos otras optimizaciones de ML agente.

Leer el documento

Para más detalles técnicos, lea nuestro periódico, “KernelEvolve: Ampliación de la codificación de kernel agente para aceleradores de IA heterogéneos en Meta” from CARNADA 2026.

Expresiones de gratitud

Nos gustaría agradecer Ying Wang, Hongsen Qin, Tao Yang, Jia Jiun Ang, Yujia He, alicia dorado, Michael Kuchnik, Wei Guo, Yihan él, Jiangyuan Li, Dianshi Li, Chao Xie, Adela Sol, Richard Li, Alec Hammond, romano levenstein, Hongtao Yu, Yuan Wei (kevin) Colmillo, Kunming Ho, Haishan Zhu, Sitio Cao, Abdullah Ozturk, Jort Gemmeke, Daniel Wang, Juan Angeles Acuna, Yoram Bachrach, Ming Chen, Terry Chen, Jake Cheng, Wayne Chiang, Wenyuan Chi, Rick Chang, Cocinero Wyatt, Los tres daos, Barry Dong, Liubov Dmitrieva, Derek Dunfield, Zhou Fang, Rob Fergus, Maxwell Harrison Fisch, Peces de Zacarías, Zach Freeman, Fu Chunli, vishal gandhi, Kaustubh Gondkar, Wentian Guo, Han Guo, William Han Wei Liang, Samuel Hsia, Barney Huang, Nicolás de Hungría, Martín Josifoski, Jacob Kahn, Shobhit Kanaujia, Drew Lackman, Marek Latuskiewicz, Kristin Lauter, Madre Leví, Evan Li, Yiting Li, Jiang Liu, Alexéi Loginov, Yining Lu, Anuj Madán, John Martabano, Anna Mcburney, Keyur Muzumdar, Kelvin Nuevo, Sandeep Pandey, Uladzimir Pashkevich, Dmitriy Pedchenko, Pedro Pedreira, Varna Puvvada, Prayas Janak Shah, Bidit Sharma, Feng Shi, Stanley Shi, Ketan Singh, Vibha Sinha, Matt Steiner, Gabriel Synnaeve, Oleksandr Stashuk, Jim Tao, Ritwik Tewari, Chris Wiltz, Yao Xuan, No Yan, Bill Yoshimi, Xiaoyu, Abdul Zainul Abedin, Qing Zhang, y Mingjie Zhu