npunlock permite ejecutar kernels C personalizados en NPUs de Intel

Fuentes: npunlock enables custom C kernels for Intel Core Ultra NPUs

npunlock es una herramienta de software de código abierto que permite a los desarrolladores escribir y ejecutar kernels personalizados en C para las unidades de procesamiento neural (NPU) de Intel, específicamente las generaciones Meteor Lake con núcleos SHAVE. A diferencia de la pila pública de Intel, que limita la programación a un nivel de grafo, npunlock reconstruye el flujo de trabajo necesario para integrar código C nativo dentro de las operaciones de la NPU, manteniendo la compatibilidad con el compilador y controlador de Intel.

La herramienta está verificada en sistemas Windows x64 con hardware Intel NPU3720. Su arquitectura permite ejecutar ramas de precisión mixta (FP32 y FP16) de forma independiente dentro de un mismo grafo, lo que habilita operaciones matemáticas no lineales como GELU y tanhf. El proyecto incluye ejemplos prácticos en Python que demuestran la compilación y ejecución de estos kernels, comparando los resultados con referencias en NumPy para validar la precisión.

npunlock no requiere OpenVINO como runtime ni compilador frontal, aunque genera código IR en formato OpenVINO para el controlador de Intel. La instalación se realiza desde un checkout de código fuente, y el proyecto depende de la herramientachain MoviTools de Intel/Movidius, la cual se obtiene desde paquetes de controladores legacy de Lenovo. Actualmente, el soporte es experimental y limitado a hardware específico, aunque el autor invita a la comunidad a contribuir con pruebas en sistemas Linux o NPUs más recientes.