Huawei presentó y abrió AscendNPU IR, la base de compilación basada en MLIR del compilador BiSheng, durante un encuentro técnico celebrado el 1 de agosto de 2026. HFusion se ocupa de optimizaciones relativamente independientes del hardware, como la fusión, la división en tiles y la planificación; HIVM traduce esas o...
Publicado porEditado con GPT-5.6 LunaImágenes generadas con GPT Image 1.5
Respuesta de investigación

Create a landscape editorial hero image for this Studio Global article: What did Huawei AscendNPU IR architect Hai Lijuan present at HyperAI’s ninth Meet AI Compiler technical salon on August 1, 2026, and how doe. Article summary: Hai Lijuan’s August 1 salon talk, “AscendNPU IR: open compiler foundation supporting multi-language access to Ascend,” presented the newly open-sourced MLIR compiler layer beneath BiSheng and its path for bringing Triton. Topic tags: general, general web, user generated. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fa
Huawei está convirtiendo AscendNPU IR en una pieza central de su estrategia para ampliar el ecosistema de software de sus procesadores Ascend. La compañía abrió el proyecto junto con Triton-Ascend y presentó sus avances a través de Hai Lijuan, arquitecta de AscendNPU IR, durante el noveno salón técnico Meet AI Compiler de HyperAI, celebrado el 1 de agosto de 2026 en Zhongguancun, Pekín. 3
7
La idea clave es que AscendNPU IR no pretende ser otro lenguaje de programación para usuarios finales. Es una representación intermedia —IR, por sus siglas en inglés— basada en MLIR que actúa como capa común entre lenguajes y marcos de trabajo de alto nivel y el hardware Ascend. Su diseño también contempla el descenso hacia LLVM IR y, finalmente, la generación de binarios para el dispositivo. 1
En la práctica, esta capa intenta separar dos problemas que suelen mezclarse: la descripción de un operador y la gestión detallada de tiles, memoria local, movimiento de datos, sincronización, canalizaciones y unidades de cálculo.
AscendNPU IR es la representación intermedia orientada a la compilación de operadores para procesadores Ascend. Está construida sobre MLIR y ofrece varios niveles de abstracción: las capas superiores ocultan buena parte de los detalles de instrucciones, transferencias y sincronización, mientras que las inferiores permiten controlar con precisión la colocación de datos y el comportamiento de las canalizaciones. 4
11
El proyecto admite varias vías de entrada. Los lenguajes específicos de dominio, como Triton y TileLang, pueden convertirse a AscendNPU IR. Los marcos y compiladores también pueden conectarse mediante Torch IR, Linalg/HFusion IR o HIVM IR. Según el nivel elegido, el compilador puede encargarse automáticamente de la fusión, la división en tiles y la planificación, o exponer un control mucho más directo sobre la memoria y los recursos de cálculo de Ascend. 5
22
El flujo simplificado sería el siguiente:
Triton, TileLang o IR de un framework
↓
AscendNPU IR basado en MLIR
↓
Descenso de HFusion a HIVM
↓
Instrucciones y binario Ascend
La documentación del proyecto utiliza bishengir-compile para convertir MLIR en un objeto ejecutable en el dispositivo. Después, ese objeto puede registrarse y ejecutarse mediante las interfaces de runtime de CANN, la plataforma de software de Ascend. 6
Un tile es un bloque manejable de datos y operaciones tensoriales. En lugar de obligar a cada front end a describir por separado todas las transferencias, decisiones de memoria, puntos de sincronización e instrucciones, AscendNPU IR proporciona una representación común centrada en esos bloques.
El modelo está diseñado por capas. En los niveles superiores, un desarrollador puede expresar operaciones tensoriales sin especificar cada detalle del chip. En los niveles inferiores, el compilador puede inferir o exponer la ubicación de los datos en GM, UB, L1 y L0, además del uso de los recursos Vector, Cube y de movimiento de datos. 5
22
El resultado busca equilibrar portabilidad y ajuste fino. Un operador escrito mediante Triton o integrado desde un framework puede dirigirse a la misma base de compilación, mientras que el código que necesita el máximo rendimiento puede descender a una representación más consciente del hardware. La documentación de arquitectura describe este enfoque como un conjunto de abstracciones desacopladas que modelan progresivamente las instrucciones Ascend, los recursos dentro de cada núcleo, los recursos entre núcleos y los recursos del sistema en chip. 11
HFusion es la capa relativamente independiente del hardware dentro del modelo de dos niveles. Representa las operaciones tensoriales con un nivel de abstracción elevado y aplica transformaciones como fusión, bufferización, tiling y planificación antes de fijar las instrucciones específicas del dispositivo. 11
22
En esta etapa, varias operaciones pueden combinarse y un cálculo amplio puede dividirse en tiles adecuados para el modelo de ejecución de Ascend. El objetivo es conservar la semántica del operador mientras se prepara su descenso hacia una implementación optimizada para el NPU.
HIVM es la capa que incorpora los detalles del hardware. Traduce las expresiones por tiles a operaciones que reflejan las unidades de ejecución, la jerarquía de almacenamiento y el comportamiento de las canalizaciones de Ascend. Entre sus tareas se incluyen:
Esta división permite optimizar a dos niveles. HFusion puede razonar sobre la estructura general de los tensores y las oportunidades de fusión, mientras HIVM se ocupa de los recursos exactos de memoria y ejecución que necesitan los tiles resultantes.
La separación entre HFusion y HIVM se mantiene, pero la capa consciente del hardware debe cubrir más que la ruta SIMD basada principalmente en memoria de generaciones anteriores. El material centrado en Ascend 950 describe compatibilidad con SIMD basado en registros y con SIMT, además del modelo de ejecución existente. 2
En este modelo, los datos se cargan desde la memoria local del chip a los registros, se procesan allí y después se escriben de nuevo. La fusión a nivel de registros puede mantener valores intermedios en esos registros entre varias operaciones, reduciendo cargas y escrituras repetidas cuando la forma del cálculo lo permite. 2
SIMT ofrece otra vía para manejar partes adecuadas de un operador con accesos irregulares o divergencias en el flujo de ejecución. El enfoque descrito separa el trabajo que se beneficia de SIMT del cálculo denso y favorable a SIMD, aplica la transformación correspondiente a cada parte y vuelve a integrarlas en la computación vectorial general. 2
La presentación también destacó un cambio en la interacción entre Cube y Vector. En determinados flujos de A2 y A3, algunos intercambios entre ambos tipos de cálculo pasan por memoria global. En Ascend 950, la ruta descrita puede mover resultados de Cube desde L0C a la memoria local de Vector y devolver los resultados de Vector a la memoria de Cube, acortando la distancia entre ambos dominios de ejecución. 2
Esto resulta relevante para operadores en los que un cálculo matricial en Cube va seguido de procesamiento vectorial. El compilador aún debe determinar dónde residen los tensores y cuándo son necesarias las transferencias, especialmente si las operaciones Cube y Vector aparecen en ramas distintas del flujo de control.
Varios pases con nombre muestran cómo AscendNPU IR transforma sus abstracciones en decisiones concretas de memoria y planificación.
InsertCVLoadStoreEl flujo mejorado de InsertCVLoadStore analiza la comunicación Cube–Vector a través de flujos de control complejos, en lugar de insertar transferencias mediante una simple búsqueda de patrones locales. Primero establece anclas de ubicación —por ejemplo, entradas matriciales en L1, salidas matriciales en L0C y datos vectoriales en UB—. Después propaga esas restricciones por el programa e inserta conversiones o copias cuando hay conflictos entre dominios de memoria. 2
En A2 y A3, los intercambios descritos pueden apoyarse en operaciones de carga y almacenamiento a memoria global. En Ascend 950, cuando el hardware lo permite, pueden utilizarse rutas locales dentro del chip. 2
MultiBufferMultiBuffer representa varias copias de un tensor existente. Esto permite crear esquemas de doble buffer o ping-pong buffering y puede solapar el movimiento de datos con el cálculo, siempre que el presupuesto de memoria y la planificación lo permitan. 17
18
AutoBlockify y DynamicCVPipelineAutoBlockify y DynamicCVPipeline son algunos de los pases específicos de Ascend incluidos en la pila de compilación de Triton-Ascend. Sus nombres reflejan dos tareas centrales: dividir el cálculo en bloques ejecutables y construir el comportamiento de las canalizaciones Cube–Vector. 19
La lista de prestaciones documentadas también incluye planificación automática de memoria, sincronización, planificación de ejecución y optimizaciones de la interacción Cube–Vector. 24
La presentación describió una relación de un núcleo Cube por cada dos núcleos Vector en una configuración relevante de Ascend. AutoSubTiling puede dividir el trabajo vectorial para que ambos núcleos Vector procesen partes distintas en paralelo. 2
14
Huawei abrió AscendNPU IR junto con Triton-Ascend para fomentar el desarrollo comunitario. Triton-Ascend es el framework de compilación de Triton adaptado a Ascend: conserva la sintaxis principal de Triton y añade compilación, optimización y despliegue específicos para los productos A2, A3 y de la serie 950. 30
37
La publicación ofrece una vía más directa para quienes quieran trabajar en pases de compilación, integración de front ends, descenso de operadores u optimización consciente del hardware sin tener que construir una pila completa desde cero. El programa comunitario comunicado incluye prácticas vinculadas a los repositorios y tareas con recompensas; los desarrolladores pueden reclamar las tareas disponibles y entregar el trabajo conforme a las reglas del programa. 31
Quienes no dispongan de hardware Ascend pueden utilizar, según la información publicada, HiDevLab, el entorno en la nube de la comunidad Ascend, con 100 horas gratuitas de cómputo. La información disponible confirma esa asignación, pero no detalla todas las condiciones de elegibilidad, verificación, caducidad o disponibilidad regional. Por ello, conviene comprobar los términos al registrarse. 31
La propuesta principal de AscendNPU IR es arquitectónica: facilitar el acceso al hardware Ascend desde distintos puntos de entrada del ecosistema de compiladores sin eliminar la posibilidad de ajustar el rendimiento a bajo nivel. Triton, TileLang y los IR de los frameworks pueden entrar por capas de mayor abstracción; HFusion puede realizar transformaciones generales; y HIVM puede traducir los tiles a decisiones concretas de memoria, núcleos, comunicación y canalización. 5
11
Ascend 950 eleva el techo de optimización con SIMD basado en registros, SIMT y rutas Cube–Vector más cercanas dentro del chip. Eso no garantiza por sí solo un mejor rendimiento en todos los operadores: el resultado seguirá dependiendo de la forma del operador, la presión sobre la memoria, el flujo de control, la madurez del compilador y el procesador utilizado.
Lo que sí cambia con la apertura del stack es la visibilidad de esas decisiones. Los desarrolladores de compiladores y operadores pueden inspeccionar mejor cómo se transforma el código y participar directamente en la evolución de la herramienta.
Studio Global AI
Esta página incluye una respuesta respaldada por fuentes que puede continuar dentro de Studio Global.
Huawei presentó y abrió AscendNPU IR, la base de compilación basada en MLIR del compilador BiSheng, durante un encuentro técnico celebrado el 1 de agosto de 2026.
Huawei presentó y abrió AscendNPU IR, la base de compilación basada en MLIR del compilador BiSheng, durante un encuentro técnico celebrado el 1 de agosto de 2026. HFusion se ocupa de optimizaciones relativamente independientes del hardware, como la fusión, la división en tiles y la planificación; HIVM traduce esas operaciones a memoria, núcleos Cube y Vector, sincronización e i...
En Ascend 950, la pila incorpora SIMD basado en registros, SIMT y rutas de comunicación Cube–Vector más directas dentro de la memoria del chip.
Huawei presentó y abrió AscendNPU IR, la base de compilación basada en MLIR del compilador BiSheng, durante un encuentro técnico celebrado el 1 de agosto de 2026. HFusion se ocupa de optimizaciones relativamente independientes del hardware, como la fusión, la división en tiles y la planificación; HIVM traduce esas o...
Publicado porEditado con GPT-5.6 LunaImágenes generadas con GPT Image 1.5
Respuesta de investigación

Create a landscape editorial hero image for this Studio Global article: What did Huawei AscendNPU IR architect Hai Lijuan present at HyperAI’s ninth Meet AI Compiler technical salon on August 1, 2026, and how doe. Article summary: Hai Lijuan’s August 1 salon talk, “AscendNPU IR: open compiler foundation supporting multi-language access to Ascend,” presented the newly open-sourced MLIR compiler layer beneath BiSheng and its path for bringing Triton. Topic tags: general, general web, user generated. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fa
Huawei está convirtiendo AscendNPU IR en una pieza central de su estrategia para ampliar el ecosistema de software de sus procesadores Ascend. La compañía abrió el proyecto junto con Triton-Ascend y presentó sus avances a través de Hai Lijuan, arquitecta de AscendNPU IR, durante el noveno salón técnico Meet AI Compiler de HyperAI, celebrado el 1 de agosto de 2026 en Zhongguancun, Pekín. 3
7
La idea clave es que AscendNPU IR no pretende ser otro lenguaje de programación para usuarios finales. Es una representación intermedia —IR, por sus siglas en inglés— basada en MLIR que actúa como capa común entre lenguajes y marcos de trabajo de alto nivel y el hardware Ascend. Su diseño también contempla el descenso hacia LLVM IR y, finalmente, la generación de binarios para el dispositivo. 1
En la práctica, esta capa intenta separar dos problemas que suelen mezclarse: la descripción de un operador y la gestión detallada de tiles, memoria local, movimiento de datos, sincronización, canalizaciones y unidades de cálculo.
AscendNPU IR es la representación intermedia orientada a la compilación de operadores para procesadores Ascend. Está construida sobre MLIR y ofrece varios niveles de abstracción: las capas superiores ocultan buena parte de los detalles de instrucciones, transferencias y sincronización, mientras que las inferiores permiten controlar con precisión la colocación de datos y el comportamiento de las canalizaciones. 4
11
El proyecto admite varias vías de entrada. Los lenguajes específicos de dominio, como Triton y TileLang, pueden convertirse a AscendNPU IR. Los marcos y compiladores también pueden conectarse mediante Torch IR, Linalg/HFusion IR o HIVM IR. Según el nivel elegido, el compilador puede encargarse automáticamente de la fusión, la división en tiles y la planificación, o exponer un control mucho más directo sobre la memoria y los recursos de cálculo de Ascend. 5
22
El flujo simplificado sería el siguiente:
Triton, TileLang o IR de un framework
↓
AscendNPU IR basado en MLIR
↓
Descenso de HFusion a HIVM
↓
Instrucciones y binario Ascend
La documentación del proyecto utiliza bishengir-compile para convertir MLIR en un objeto ejecutable en el dispositivo. Después, ese objeto puede registrarse y ejecutarse mediante las interfaces de runtime de CANN, la plataforma de software de Ascend. 6
Un tile es un bloque manejable de datos y operaciones tensoriales. En lugar de obligar a cada front end a describir por separado todas las transferencias, decisiones de memoria, puntos de sincronización e instrucciones, AscendNPU IR proporciona una representación común centrada en esos bloques.
El modelo está diseñado por capas. En los niveles superiores, un desarrollador puede expresar operaciones tensoriales sin especificar cada detalle del chip. En los niveles inferiores, el compilador puede inferir o exponer la ubicación de los datos en GM, UB, L1 y L0, además del uso de los recursos Vector, Cube y de movimiento de datos. 5
22
El resultado busca equilibrar portabilidad y ajuste fino. Un operador escrito mediante Triton o integrado desde un framework puede dirigirse a la misma base de compilación, mientras que el código que necesita el máximo rendimiento puede descender a una representación más consciente del hardware. La documentación de arquitectura describe este enfoque como un conjunto de abstracciones desacopladas que modelan progresivamente las instrucciones Ascend, los recursos dentro de cada núcleo, los recursos entre núcleos y los recursos del sistema en chip. 11
HFusion es la capa relativamente independiente del hardware dentro del modelo de dos niveles. Representa las operaciones tensoriales con un nivel de abstracción elevado y aplica transformaciones como fusión, bufferización, tiling y planificación antes de fijar las instrucciones específicas del dispositivo. 11
22
En esta etapa, varias operaciones pueden combinarse y un cálculo amplio puede dividirse en tiles adecuados para el modelo de ejecución de Ascend. El objetivo es conservar la semántica del operador mientras se prepara su descenso hacia una implementación optimizada para el NPU.
HIVM es la capa que incorpora los detalles del hardware. Traduce las expresiones por tiles a operaciones que reflejan las unidades de ejecución, la jerarquía de almacenamiento y el comportamiento de las canalizaciones de Ascend. Entre sus tareas se incluyen:
Esta división permite optimizar a dos niveles. HFusion puede razonar sobre la estructura general de los tensores y las oportunidades de fusión, mientras HIVM se ocupa de los recursos exactos de memoria y ejecución que necesitan los tiles resultantes.
La separación entre HFusion y HIVM se mantiene, pero la capa consciente del hardware debe cubrir más que la ruta SIMD basada principalmente en memoria de generaciones anteriores. El material centrado en Ascend 950 describe compatibilidad con SIMD basado en registros y con SIMT, además del modelo de ejecución existente. 2
En este modelo, los datos se cargan desde la memoria local del chip a los registros, se procesan allí y después se escriben de nuevo. La fusión a nivel de registros puede mantener valores intermedios en esos registros entre varias operaciones, reduciendo cargas y escrituras repetidas cuando la forma del cálculo lo permite. 2
SIMT ofrece otra vía para manejar partes adecuadas de un operador con accesos irregulares o divergencias en el flujo de ejecución. El enfoque descrito separa el trabajo que se beneficia de SIMT del cálculo denso y favorable a SIMD, aplica la transformación correspondiente a cada parte y vuelve a integrarlas en la computación vectorial general. 2
La presentación también destacó un cambio en la interacción entre Cube y Vector. En determinados flujos de A2 y A3, algunos intercambios entre ambos tipos de cálculo pasan por memoria global. En Ascend 950, la ruta descrita puede mover resultados de Cube desde L0C a la memoria local de Vector y devolver los resultados de Vector a la memoria de Cube, acortando la distancia entre ambos dominios de ejecución. 2
Esto resulta relevante para operadores en los que un cálculo matricial en Cube va seguido de procesamiento vectorial. El compilador aún debe determinar dónde residen los tensores y cuándo son necesarias las transferencias, especialmente si las operaciones Cube y Vector aparecen en ramas distintas del flujo de control.
Varios pases con nombre muestran cómo AscendNPU IR transforma sus abstracciones en decisiones concretas de memoria y planificación.
InsertCVLoadStoreEl flujo mejorado de InsertCVLoadStore analiza la comunicación Cube–Vector a través de flujos de control complejos, en lugar de insertar transferencias mediante una simple búsqueda de patrones locales. Primero establece anclas de ubicación —por ejemplo, entradas matriciales en L1, salidas matriciales en L0C y datos vectoriales en UB—. Después propaga esas restricciones por el programa e inserta conversiones o copias cuando hay conflictos entre dominios de memoria. 2
En A2 y A3, los intercambios descritos pueden apoyarse en operaciones de carga y almacenamiento a memoria global. En Ascend 950, cuando el hardware lo permite, pueden utilizarse rutas locales dentro del chip. 2
MultiBufferMultiBuffer representa varias copias de un tensor existente. Esto permite crear esquemas de doble buffer o ping-pong buffering y puede solapar el movimiento de datos con el cálculo, siempre que el presupuesto de memoria y la planificación lo permitan. 17
18
AutoBlockify y DynamicCVPipelineAutoBlockify y DynamicCVPipeline son algunos de los pases específicos de Ascend incluidos en la pila de compilación de Triton-Ascend. Sus nombres reflejan dos tareas centrales: dividir el cálculo en bloques ejecutables y construir el comportamiento de las canalizaciones Cube–Vector. 19
La lista de prestaciones documentadas también incluye planificación automática de memoria, sincronización, planificación de ejecución y optimizaciones de la interacción Cube–Vector. 24
La presentación describió una relación de un núcleo Cube por cada dos núcleos Vector en una configuración relevante de Ascend. AutoSubTiling puede dividir el trabajo vectorial para que ambos núcleos Vector procesen partes distintas en paralelo. 2
14
Huawei abrió AscendNPU IR junto con Triton-Ascend para fomentar el desarrollo comunitario. Triton-Ascend es el framework de compilación de Triton adaptado a Ascend: conserva la sintaxis principal de Triton y añade compilación, optimización y despliegue específicos para los productos A2, A3 y de la serie 950. 30
37
La publicación ofrece una vía más directa para quienes quieran trabajar en pases de compilación, integración de front ends, descenso de operadores u optimización consciente del hardware sin tener que construir una pila completa desde cero. El programa comunitario comunicado incluye prácticas vinculadas a los repositorios y tareas con recompensas; los desarrolladores pueden reclamar las tareas disponibles y entregar el trabajo conforme a las reglas del programa. 31
Quienes no dispongan de hardware Ascend pueden utilizar, según la información publicada, HiDevLab, el entorno en la nube de la comunidad Ascend, con 100 horas gratuitas de cómputo. La información disponible confirma esa asignación, pero no detalla todas las condiciones de elegibilidad, verificación, caducidad o disponibilidad regional. Por ello, conviene comprobar los términos al registrarse. 31
La propuesta principal de AscendNPU IR es arquitectónica: facilitar el acceso al hardware Ascend desde distintos puntos de entrada del ecosistema de compiladores sin eliminar la posibilidad de ajustar el rendimiento a bajo nivel. Triton, TileLang y los IR de los frameworks pueden entrar por capas de mayor abstracción; HFusion puede realizar transformaciones generales; y HIVM puede traducir los tiles a decisiones concretas de memoria, núcleos, comunicación y canalización. 5
11
Ascend 950 eleva el techo de optimización con SIMD basado en registros, SIMT y rutas Cube–Vector más cercanas dentro del chip. Eso no garantiza por sí solo un mejor rendimiento en todos los operadores: el resultado seguirá dependiendo de la forma del operador, la presión sobre la memoria, el flujo de control, la madurez del compilador y el procesador utilizado.
Lo que sí cambia con la apertura del stack es la visibilidad de esas decisiones. Los desarrolladores de compiladores y operadores pueden inspeccionar mejor cómo se transforma el código y participar directamente en la evolución de la herramienta.
Studio Global AI
Esta página incluye una respuesta respaldada por fuentes que puede continuar dentro de Studio Global.
Huawei presentó y abrió AscendNPU IR, la base de compilación basada en MLIR del compilador BiSheng, durante un encuentro técnico celebrado el 1 de agosto de 2026.
Huawei presentó y abrió AscendNPU IR, la base de compilación basada en MLIR del compilador BiSheng, durante un encuentro técnico celebrado el 1 de agosto de 2026. HFusion se ocupa de optimizaciones relativamente independientes del hardware, como la fusión, la división en tiles y la planificación; HIVM traduce esas operaciones a memoria, núcleos Cube y Vector, sincronización e i...
En Ascend 950, la pila incorpora SIMD basado en registros, SIMT y rutas de comunicación Cube–Vector más directas dentro de la memoria del chip.