Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
IoT Edge 1.5
Importante
IoT Edge 1.5 LTS es la versión compatible. IoT Edge 1.4 LTS alcanzó el final del ciclo de vida el 12 de noviembre de 2024. Si usa una versión anterior, consulte Update IoT Edge.
Las GPU son una opción popular para los cálculos de inteligencia artificial, ya que ofrecen funcionalidades de procesamiento paralelo y, a menudo, ejecutan la inferencia basada en la visión más rápido que las CPU. Para admitir la inteligencia artificial y las aplicaciones de aprendizaje automático, Azure IoT Edge para Linux en Windows (EFLOW) expone una GPU al módulo Linux de la máquina virtual.
Azure IoT Edge para Linux en Windows admite varias tecnologías de paso a través de GPU, entre las que se incluyen:
Asignación directa de dispositivos (DDA): los núcleos de GPU se asignan a la máquina virtual Linux o al host.
Paravirtualización de GPU (GPU-PV): la GPU se comparte entre la máquina virtual Linux y el host.
Debe seleccionar el método de acceso directo adecuado durante la implementación para que coincida con las funcionalidades admitidas del hardware de GPU del dispositivo.
Importante
Estas características pueden incluir componentes desarrollados y propiedad de NVIDIA Corporation o sus licenciantes. El uso de los componentes se rige por el contrato de licencia para el usuario final de NVIDIA que se encuentra en el sitio web de NVIDIA.
Mediante el uso de características de aceleración de GPU, acepta y acepta los términos del Contrato de licencia de NVIDIA End-User.
Requisitos previos
Actualmente, las características de aceleración de GPU de Azure IoT Edge para Linux en Windows admiten un conjunto seleccionado de hardware de GPU. Además, el uso de esta característica puede requerir versiones específicas de Windows.
Las GPU admitidas y las versiones de Windows necesarias son:
| GPU admitidas | Tipo de paso directo de GPU | Versiones de Windows admitidas |
|---|---|---|
| NVIDIA T4, A2 | PDD | Windows Server 2019 Windows Server 2022 Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
| NVIDIA GeForce, Quadro, RTX | GPU-PV | Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
| Intel iGPU | GPU-PV | Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
Importante
El soporte para GPU-PV puede limitarse a determinadas generaciones de procesadores o arquitecturas de GPU, según lo determinado por el proveedor de GPU. Para obtener más información, consulte la documentación del controlador iGPU de Intel o CUDA de NVIDIA para WSL.
Windows Server 2019 los usuarios deben usar la compilación mínima 17763 con todas las actualizaciones acumulativas actuales instaladas.
Los usuarios de Windows 10 deben utilizar la actualización de noviembre de 2021 con la compilación 19044.1620 o posterior. Después de la instalación, compruebe la versión de compilación ejecutando winver en la línea de comandos.
La transferencia de GPU no se admite con la virtualización anidada, como ejecutar EFLOW en una máquina virtual de Windows.
Configuración e instalación del sistema
Las secciones siguientes contienen información de configuración e instalación, según la GPU.
NVIDIA T4/A2 GPU
Para las GPU T4/A2, Microsoft recomienda instalar un controlador de mitigación de dispositivos del proveedor de GPU. Aunque es opcional, instalar un controlador de mitigación puede mejorar la seguridad de la implementación. Para obtener más información, vea Implementación de dispositivos gráficos mediante la asignación directa de dispositivos.
Advertencia
La habilitación del acceso directo a dispositivos de hardware puede aumentar los riesgos de seguridad. Microsoft recomienda usar un controlador de mitigación de dispositivos del proveedor de GPU, si procede. Para obtener más información, vea Implementación de dispositivos gráficos mediante la asignación discreta de dispositivos.
GPUs NVIDIA GeForce/Quadro/RTX
Para NVIDIA GeForce/Quadro/RTX GPUs, descargue e instale el controlador habilitado para CUDA de NVIDIA para Windows Subsystem for Linux (WSL) para usarlo con los flujos de trabajo existentes de ML de CUDA. Originalmente desarrollado para WSL, el CUDA para controladores WSL también se usa con Azure IoT Edge para Linux en Windows.
Los usuarios de Windows 10 también deben instalar WSL porque algunas bibliotecas se comparten entre WSL y Azure IoT Edge para Linux en Windows.
Intel iGPU
En el caso de las Intel iGP, descargue e instale el controlador de gráficos de Intel con compatibilidad con GPU de WSL.
Los usuarios de Windows 10 también deben instalar WSL porque algunas bibliotecas se comparten entre WSL y Azure IoT Edge para Linux en Windows.
Habilitación de la aceleración de GPU en la implementación de Azure IoT Edge Linux en Windows
Después de finalizar la instalación del sistema, empiece a crear la implementación de Azure IoT Edge para Linux en Windows. Durante este proceso, habilite la compatibilidad con GPU como parte de la implementación de EFLOW.
Por ejemplo, estos comandos crean una máquina virtual habilitada para GPU con una GPU NVIDIA A2 o una tarjeta gráfica Intel Iris Xe.
#Deploys EFLOW with NVIDIA A2 assigned to the EFLOW VM
Deploy-Eflow -gpuPassthroughType DirectDeviceAssignment -gpuCount 1 -gpuName "NVIDIA A2"
#Deploys EFLOW with Intel(R) Iris(R) Xe Graphics assigned to the EFLOW VM
Deploy-Eflow -gpuPassthroughType ParaVirtualization -gpuCount 1 -gpuName "Intel(R) Iris(R) Xe Graphics"
Para buscar el nombre de la GPU, ejecute este comando o busque Adaptadores de pantalla en Device Manager.
(Get-WmiObject win32_VideoController).caption
Después de finalizar la instalación, implemente y ejecute módulos de Linux acelerados por GPU a través de Azure IoT Edge para Linux en Windows.
Configuración de la aceleración de GPU en una implementación existente de Azure IoT Edge Linux en Windows
Asigne la GPU al momento de la implementación para obtener la experiencia más sencilla. Para habilitar o deshabilitar la GPU después de la implementación, use el set-eflowvm comando . Cuando se usa set-eflowvm, el parámetro predeterminado se usa para cualquier argumento que no especifique. Por ejemplo,
# Deploys EFLOW without a GPU assigned to the EFLOW VM
Deploy-Eflow -cpuCount 4 -memoryInMB 16384
# Assigns NVIDIA A2 GPU to the existing deployment (cpu and memory must still be specified, or they're set to the default values)
Set-EflowVM -cpuCount 4 -memoryInMB 16384 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1
# Reduces the cpuCount and memory (GPU must still be specified, or the GPU is removed)
Set-EflowVM -cpuCount 2 -memoryInMB 4096 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1
# Removes NVIDIA A2 GPU from the existing deployment
Set-EflowVM -cpuCount 2 -memoryInMB 4096
Pasos siguientes
Pruebe las muestras de GPU de los ejemplos de EFLOW. Estos ejemplos muestran escenarios comunes de fabricación y venta al por menor, como la detección de defectos, la seguridad de los trabajadores y la administración del inventario. Estos ejemplos de código abierto pueden ser una plantilla de solución para crear su propia aplicación de aprendizaje automático basada en visión.
Obtenga más información sobre las tecnologías de paso a través de GPU en la documentación de DDA y la entrada de blog GPU-PV.
Varios proveedores de GPU proporcionan guías de usuario sobre cómo sacar el máximo partido de su hardware y software con EFLOW:
- Aprenda a ejecutar aplicaciones Intel OpenVINO™ en EFLOW siguiendo la guía de Intel sobre iGPU con Azure IoT Edge para Linux en Windows (EFLOW) y OpenVINO™ Toolkit.
- Empiece a implementar aplicaciones aceleradas por CUDA en EFLOW siguiendo la Guía de usuario de EFLOW de NVIDIA para GPU de GeForce/Quadro/RTX. En esta guía no se tratan las GPU basadas en DDA, como NVIDIA T4 o A2.