7.11. NPUs

El H7 y el RT1062 ejecutan la inferencia en una CPU Cortex-M a través de TFLM y CMSIS-NN. El AE3 y el N6 añaden una NPU dedicada en el mismo chip: un pipeline de tensores en silicio fijo que ejecuta los operadores pesados sin ocupar la CPU. Las dos NPU de la gama de OpenMV provienen de fabricantes distintos y sus cadenas de herramientas son diferentes, pero la cámara expone ambas a través de la misma API ml.Model. Lo que difiere es el archivo en disco y el runtime que lo recorre.

7.11.1. AE3 – Arm Ethos-U55

El AE3 lleva una NPU Ethos-U55 de Arm en el mismo chip que el núcleo de aplicación Cortex-M55. Vela es el compilador sin conexión que prepara un modelo para ella: Vela toma un .tflite estándar como entrada y emite un .tflite de salida cuyos subgrafos aptos para la NPU se han plegado en un operador Ethos-U personalizado que lleva los comandos en bytes que ejecuta la NPU. En el momento de la inferencia, TFLM recorre el archivo con normalidad; el operador Ethos-U despacha sus comandos en bytes a través del controlador Ethos-U, y cualquier operador que Vela no haya plegado recurre a CMSIS-NN en el M55.

7.11.2. N6 – ST Neural-ART

El N6 lleva la NPU Neural-ART de ST y ejecuta STAI (el runtime de ST para ella) en lugar de TFLM. STEdgeAI es el compilador sin conexión: toma un modelo como entrada y emite un blob de red reubicable dispuesto para el hardware Neural-ART. STAI carga el blob desde ROMFS y lo recorre directamente en la NPU. La cobertura de operadores es la que STEdgeAI admita para la pieza.

7.11.3. Mismo script, distinta cámara

Ambas NPU exponen los mismos tensores de entrada y salida con los mismos parámetros de cuantización que tendría un modelo ejecutado en la CPU. Un script escrito contra una cámara se ejecuta en otra cargando un archivo de modelo preparado para la NPU de esa cámara. Los umbrales de detección, el manejo de la ROI y el cableado del posprocesador (las decisiones a nivel de script) no cambian.