
Hoy en día, los dispositivos más nuevos están empezando a incluir chips de IA integrados. El término técnico correcto para «chip de inteligencia artificial» es NPU, que significa Unidad de Procesamiento Neural.
Si tiene una NPU integrada, es posible que desee saber si su sistema la está utilizando.
En este tutorial, compartiré cómo monitorear el uso de NPU en procesadores Rockchip.
🚧
Puede verificar si su sistema tiene npu usando el siguiente comando:
dmesg | grep -i npu
Analice la salida para determinar si hay una NPU.
Verifique la utilización de Rockchip NPU
Afortunadamente, Rockchip aprovecha la función debugfs. debugfs es un tipo especial de sistema de archivos virtual que proporciona información de depuración en tiempo real, similar a la información obtenida por proc.
El archivo que te da el uso de NPU en un momento dado es:
/sys/kernel/debug/rknpu/load
Esto es lo que muestra cuando lo ejecuto en un dispositivo ArmSoM. Muestra el uso de los tres núcleos de la NPU:
abhishek@armsom:~$ sudo cat /sys/kernel/debug/rknpu/load
NPU load: Core0: 0%, Core1: 0%, Core2: 0%,
abhishek@armsom:~$
Como puede ver, simplemente proporciona el uso actual de NPU y lo finaliza. No es muy útil si desea monitorear el uso de NPU.
Otra forma es combinar esto con el comando watch, que ejecutará el mismo comando que el anterior pero cada dos segundos (de forma predeterminada):
watch sudo cat /sys/kernel/debug/rknpu/load
Aquí hay una captura de pantalla de mí ejecutando LLM localmente usando NPU:

Para detener la ejecución de un comando de vigilancia, presione Ctrl+C.
📋
Para ver realmente el uso de NPU, debe ejecutar un programa que debería usar la NPU. De lo contrario, el valor siempre es 0 para todos los núcleos.
Hay otra forma de monitorear el uso de NPU. Descubrí esto al intentar utilizar el proyecto ezrknpu para ejecutar LLM con una NPU Rockchip.
Este proyecto tiene un script ntop.sh que muestra el uso de NPU de manera similar al comando top. Esto no es del todo cierto, ya que el comando superior no contamina la pantalla. El script ntop.sh, por otro lado, inunda la pantalla con todas estas líneas y no desaparecen después de presionar Ctrl+C.
El contenido del guión es:
#!/bin/bash
# Title: ntop.sh
# Author: Pelochus
# Brief: A very basic 'top' style program that shows the status of the NPU in Rockchip's SoCs
# Variables
CLEAR=""
# Parameters check
if [[ $1 = '-h' ]]
then
echo
echo "ntop Help"
echo
echo "-c: Clears output every refresh"
echo "-h: Shows this help screen"
echo
echo "For more information visit
echo
exit
elif [[ $1 = '-c' ]]
then
CLEAR="clear"
fi
while true; do
eval $CLEAR # If empty, will not clear
cat /sys/kernel/debug/rknpu/load
sleep 0.5
done
La parte importante es el bucle while al final. A continuación se muestra un ejemplo del uso de este script para verificar el uso de NPU.

en conclusión
Como puede ver, no existe un comando superior estándar para mostrar el uso de NPU por parte de varios fabricantes. Actualmente solo tengo Rockchip, por lo que mi exploración es limitada, por lo que este instructivo se limita a Rockchip NPU. Si consigo más hardware como este, también escribiré algunos artículos sobre ellos.