Cuando hablamos de virtualización, todos hemos visto lo que es la vRAM, vCPU, vGPU, etc., una serie de recursos de hardware virtualizado para que estos sistemas funcionen. Ahora llega también la denominada vNPU, y esto puede implicar grandes ventajas para el futuro de esta tecnología. ¿Quieres conocer más? Sigue leyendo…
Índice de contenidos
Te recomiendo leer también qué es una NPU
Virtualización de NPUs
La virtualización de NPUs (Neural Processing Units) permite dividir una unidad física de procesamiento de IA en múltiples instancias virtuales llamadas vNPUs. Esta tecnología, clave en plataformas como Ascend AI, habilita el uso compartido del hardware entre contenedores, con gran eficiencia y aislamiento.
Es decir, igual que ocurre con una CPU, RAM, GPU, y otros recursos de hardware que se pueden dividir en varios recurso virtuales para un mejor aprovechamiento del hardware o para aislar sistemas entre sí. Algo vital para virtualización y cloud.
¿Qué es una vNPU?
Una vNPU (virtual NPU) es una instancia lógica que abstrae una parte de los recursos de una NPU física. Esto incluye núcleos de IA y memoria. Las vNPUs pueden asignarse a diferentes cargas de trabajo de forma independiente, facilitando la ejecución de múltiples contenedores, máquinas virtuales o usuarios sobre el mismo hardware.
Entre las ventajas que aporta tenemos que destacar:
- Uso eficiente de recursos: múltiples usuarios pueden compartir una NPU sin conflictos.
- Aislamiento total: las vNPUs están separadas a nivel de hardware, evitando interferencias y fugas de datos.
- Gestión unificada: asignar y liberar recursos se hace de forma centralizada y flexible.
No obstante, también existen algunas limitaciones, ya que no se puede exceder de la capacidad física total de núcleos de NPU y se necesita unos drivers adecuados. Por ejemplo, si tenemos una NPU de 16 núcleos, no podemos tener más de 16 vNPUs.
Ten en cuenta que en el caso de vNPU tradicional, no solo se asigna el núcleo de cómputo, también otros recursos necesarios, como una parte de memoria para ejecutar las cargas de IA que se necesita acelerar. Además, estos recursos se definen de forma estática y predeterminada por el diseñador del sistema.
Una vNPU tradicional es una partición lógica de una NPU física, donde los recursos (núcleos de cómputo, memoria, etc.) se asignan de manera estática o mediante plantillas definidas por el fabricante. Sin embargo, existe otro tipo de vNPU diferente, se trata de la basada en UVM.
Una vNPU UVM-based (Unified Virtual Memory-based virtual NPU) utiliza tecnologías avanzadas de memoria virtual unificada para lograr una virtualización más dinámica y transparente, especialmente en entornos con múltiples tareas concurrentes. Es decir, destaca por:
- Memoria unificada entre CPU y NPU: la CPU puede acceder a los datos procesados por la NPU y viceversa sin copiar explícitamente entre memorias.
- Asignación dinámica de recursos: el runtime puede repartir recursos según la carga o demanda, sin depender solo de plantillas como la vNPU tradicional.
Eso permite una menor sobrecarga y mayor eficiencia, aunque también resulta más complejo de implementar.
Ejemplos de uso actuales
En la actualidad ya existen algunos casos en los que se está aprovechando el uso de vNPUs. Uno de los ejemplos más destacados es el de Huawei Cloud.
ModelArts, para entrenamiento e inferencia de modelos IA. Como sabes, ModelArts es una plataforma de desarrollo de IA como servicio de la nube de la firma china, y permite usar vNPUs para ejecutar múltiples tareas sobre sus NPUs Ascend.
Por otro lado, también tenemos Huawei CCE (Cloud Container Engine) con Ascend AI Suite, que también permite desplegar contenedores con workloads de IA acelerada por vNPUs soportadas a nivel de hardware mediante un solo chip Ascend.
Por ahora, la virtualización de NPU está fuertemente asociada a plataformas Ascend de Huawei, pionero en esto, pero se espera que tecnologías similares aparezcan en el ecosistema NVIDIA (con MIG), Intel Gaudi o AMD en el futuro, integrando vNPUs y UVM en entornos más abiertos.
Te recomendamos la lectura de nuestra guía sobre los mejores procesadores.
Hay que decir que las vNPUs no están soportadas por los hipervisores tradicionales como KVM, VMware ESXi o Hyper-V. Como puedes imaginar, desde el lado del software, también es Huawei el que ha tomado la delantera, con el uso de software con soporte para UVM y vNPUs como MindX Runtime (MxRuntime), MindX DL (MxDL) con Tensor Adapter, Ascend AI Suite, OpenEuler, etc. Todos orientados al hardware Ascend.
¡Comenta!

