Skip to content

Commit d876d69

Browse files
committed
Freshness review
1 parent 48b74a5 commit d876d69

File tree

1 file changed

+30
-29
lines changed

1 file changed

+30
-29
lines changed

articles/iot-edge/gpu-acceleration.md

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: GPU acceleration for Azure IoT Edge for Linux on Windows
33
description: Learn about how to configure your Azure IoT Edge for Linux on Windows virtual machines to use host device GPUs.
44
author: PatAltimore
55
ms.author: patricka
6-
ms.date: 05/29/2024
6+
ms.date: 06/05/2025
77
ms.topic: concept-article
88
ms.service: azure-iot-edge
99
ms.custom: linux-related-content
@@ -14,7 +14,7 @@ services: iot-edge
1414

1515
[!INCLUDE [iot-edge-version-all-supported](includes/iot-edge-version-all-supported.md)]
1616

17-
GPUs are a popular choice for artificial intelligence computations, because they offer parallel processing capabilities and can often execute vision-based inferencing faster than CPUs. To better support artificial intelligence and machine learning applications, Azure IoT Edge for Linux on Windows (EFLOW) can expose a GPU to the virtual machine's Linux module.
17+
GPUs are a popular choice for artificial intelligence computations because they offer parallel processing capabilities and often run vision-based inferencing faster than CPUs. To support artificial intelligence and machine learning applications, Azure IoT Edge for Linux on Windows (EFLOW) exposes a GPU to the virtual machine's Linux module.
1818

1919
Azure IoT Edge for Linux on Windows supports several GPU passthrough technologies, including:
2020

@@ -25,15 +25,15 @@ Azure IoT Edge for Linux on Windows supports several GPU passthrough technologie
2525
You must select the appropriate passthrough method during deployment to match the supported capabilities of your device's GPU hardware.
2626

2727
> [!IMPORTANT]
28-
> These features may include components developed and owned by NVIDIA Corporation or its licensors. The use of the components is governed by the NVIDIA End-User License Agreement located [on NVIDIA's website](https://www.nvidia.com/content/DriverDownload-March2009/licence.php?lang=us).
28+
> These features can include components developed and owned by NVIDIA Corporation or its licensors. The use of the components is governed by the NVIDIA End-User License Agreement located [on NVIDIA's website](https://www.nvidia.com/content/DriverDownload-March2009/licence.php?lang=us).
2929
>
30-
> By using GPU acceleration features, you are accepting and agreeing to the terms of the NVIDIA End-User License Agreement.
30+
> By using GPU acceleration features, you accept and agree to the terms of the NVIDIA End-User License Agreement.
3131
3232
## Prerequisites
3333

34-
The GPU acceleration features of Azure IoT Edge for Linux on Windows currently supports a select set of GPU hardware. Additionally, use of this feature may require specific versions of Windows.
34+
The GPU acceleration features of Azure IoT Edge for Linux on Windows currently support a select set of GPU hardware. Also, using this feature can require specific versions of Windows.
3535

36-
The supported GPUs and required Windows versions are listed below:
36+
The supported GPUs and required Windows versions are:
3737

3838
| Supported GPUs | GPU Passthrough Type | Supported Windows Versions |
3939
| --------- | --------------- | -------- |
@@ -42,42 +42,41 @@ The supported GPUs and required Windows versions are listed below:
4242
| Intel iGPU | GPU-PV | Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
4343

4444
> [!IMPORTANT]
45-
>GPU-PV support may be limited to certain generations of processors or GPU architectures as determined by the GPU vendor. For more information, see [Intel's iGPU driver documentation](https://www.intel.com/content/www/us/en/download/19344/intel-graphics-windows-dch-drivers.html) or [NVIDIA's CUDA for WSL Documentation](https://docs.nvidia.com/cuda/wsl-user-guide/index.html#wsl2-system-requirements).
45+
>GPU-PV support can be limited to certain generations of processors or GPU architectures, as determined by the GPU vendor. For more information, see [Intel's iGPU driver documentation](https://www.intel.com/content/www/us/en/download/19344/intel-graphics-windows-dch-drivers.html) or [NVIDIA's CUDA for WSL Documentation](https://docs.nvidia.com/cuda/wsl-user-guide/index.html#wsl2-system-requirements).
4646
>
4747
>Windows Server 2019 users must use minimum build 17763 with all current cumulative updates installed.
4848
>
49-
>Windows 10 users must use the [November 2021 update](https://blogs.windows.com/windowsexperience/2021/11/16/how-to-get-the-windows-10-november-2021-update/) build 19044.1620 or higher. After installation, you can verify your build version by running `winver` at the command prompt.
49+
>Windows 10 users must use the [November 2021 update](https://blogs.windows.com/windowsexperience/2021/11/16/how-to-get-the-windows-10-november-2021-update/) build 19044.1620 or higher. After installation, check your build version by running `winver` at the command prompt.
5050
>
51-
> GPU passthrough is not supported with nested virtualization, such as running EFLOW in a Windows virtual machine.
52-
51+
> GPU passthrough isn't supported with nested virtualization, like running EFLOW in a Windows virtual machine.
5352
5453
## System setup and installation
5554

5655
The following sections contain setup and installation information, according to your GPU.
5756

5857
### NVIDIA T4/A2 GPUs
5958

60-
For **T4/A2 GPUs**, Microsoft recommends installing a device mitigation driver from your GPU's vendor. While optional, installing a mitigation driver may improve the security of your deployment. For more information, see [Deploy graphics devices using direct device assignment](/windows-server/virtualization/hyper-v/deploy/deploying-graphics-devices-using-dda#optional---install-the-partitioning-driver).
59+
For **T4/A2 GPUs**, Microsoft recommends installing a device mitigation driver from your GPU's vendor. While optional, installing a mitigation driver can improve the security of your deployment. For more information, see [Deploy graphics devices using direct device assignment](/windows-server/virtualization/hyper-v/deploy/deploying-graphics-devices-using-dda#optional---install-the-partitioning-driver).
6160

6261
> [!WARNING]
63-
> Enabling hardware device passthrough may increase security risks. Microsoft recommends a device mitigation driver from your GPU's vendor, when applicable. For more information, see [Deploy graphics devices using discrete device assignment](/windows-server/virtualization/hyper-v/deploy/deploying-graphics-devices-using-dda).
62+
> Enabling hardware device passthrough can increase security risks. Microsoft recommends a device mitigation driver from your GPU's vendor, when applicable. For more information, see [Deploy graphics devices using discrete device assignment](/windows-server/virtualization/hyper-v/deploy/deploying-graphics-devices-using-dda).
6463
6564
### NVIDIA GeForce/Quadro/RTX GPUs
6665

67-
For **NVIDIA GeForce/Quadro/RTX GPUs**, download and install the [NVIDIA CUDA-enabled driver for Windows Subsystem for Linux (WSL)](https://developer.nvidia.com/cuda/wsl) to use with your existing CUDA ML workflows. Originally developed for WSL, the CUDA for WSL drivers are also used for Azure IoT Edge for Linux on Windows.
66+
For **NVIDIA GeForce/Quadro/RTX GPUs**, download and install the [NVIDIA CUDA-enabled driver for Windows Subsystem for Linux (WSL)](https://developer.nvidia.com/cuda/wsl) to use with your existing CUDA ML workflows. Originally developed for WSL, the CUDA for WSL drivers are also used with Azure IoT Edge for Linux on Windows.
6867

69-
Windows 10 users must also [install WSL](/windows/wsl/install) because some of the libraries are shared between WSL and Azure IoT Edge for Linux on Windows.
68+
Windows 10 users must also [install WSL](/windows/wsl/install) because some libraries are shared between WSL and Azure IoT Edge for Linux on Windows.
7069

7170
### Intel iGPUs
7271

7372
For **Intel iGPUs**, download and install the [Intel Graphics Driver with WSL GPU support](https://www.intel.com/content/www/us/en/download/19344/intel-graphics-windows-dch-drivers.html).
7473

75-
Windows 10 users must also [install WSL](/windows/wsl/install) because some of the libraries are shared between WSL and Azure IoT Edge for Linux on Windows.
74+
Windows 10 users must also [install WSL](/windows/wsl/install) because some libraries are shared between WSL and Azure IoT Edge for Linux on Windows.
7675

7776
## Enable GPU acceleration in your Azure IoT Edge Linux on Windows deployment
78-
Once system setup is complete, you are ready to [create your deployment of Azure IoT Edge for Linux on Windows](how-to-install-iot-edge-on-windows.md). During this process, you must [enable GPU](reference-iot-edge-for-linux-on-windows-functions.md#deploy-eflow) as part of EFLOW deployment.
77+
After you finish system setup, start to [create your deployment of Azure IoT Edge for Linux on Windows](how-to-install-iot-edge-on-windows.md). During this process, enable [GPU support](reference-iot-edge-for-linux-on-windows-functions.md#deploy-eflow) as part of EFLOW deployment.
7978

80-
For example, the following commands create a GPU-enabled virtual machine with either an NVIDIA A2 GPU or Intel Iris Xe Graphics card.
79+
For example, these commands create a GPU-enabled virtual machine with an NVIDIA A2 GPU or an Intel Iris Xe Graphics card.
8180

8281
```powershell
8382
#Deploys EFLOW with NVIDIA A2 assigned to the EFLOW VM
@@ -87,42 +86,44 @@ Deploy-Eflow -gpuPassthroughType DirectDeviceAssignment -gpuCount 1 -gpuName "NV
8786
Deploy-Eflow -gpuPassthroughType ParaVirtualization -gpuCount 1 -gpuName "Intel(R) Iris(R) Xe Graphics"
8887
```
8988

90-
To find the name of your GPU, you can run the following command or look for Display adapters in Device Manager.
89+
To find your GPU name, run this command or look for Display adapters in Device Manager.
9190
```powershell
9291
(Get-WmiObject win32_VideoController).caption
9392
```
9493

95-
Once installation is complete, you are ready to deploy and run GPU-accelerated Linux modules through Azure IoT Edge for Linux on Windows.
94+
After you finish installation, deploy and run GPU-accelerated Linux modules through Azure IoT Edge for Linux on Windows.
9695

9796
## Configure GPU acceleration in an existing Azure IoT Edge Linux on Windows deployment
98-
Assigning the GPU at deployment time will result in the most straightforward experience. However, to enable or disable the GPU after deployment use the 'set-eflowvm' command. When using 'set-eflowvm' the default parameter will be used for any argument not specified. For example,
97+
98+
Assign the GPU at deployment time for the most straightforward experience. To enable or disable the GPU after deployment, use the `set-eflowvm` command. When you use `set-eflowvm`, the default parameter is used for any argument you don't specify. For example,
9999

100100
```powershell
101-
#Deploys EFLOW without a GPU assigned to the EFLOW VM
101+
# Deploys EFLOW without a GPU assigned to the EFLOW VM
102102
Deploy-Eflow -cpuCount 4 -memoryInMB 16384
103103
104-
#Assigns NVIDIA A2 GPU to the existing deployment (cpu and memory must still be specified, otherwise they will be set to the default values)
104+
# Assigns NVIDIA A2 GPU to the existing deployment (cpu and memory must still be specified, or they're set to the default values)
105105
Set-EflowVM -cpuCount 4 -memoryInMB 16384 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1
106106
107-
#Reduces the cpuCount and memory (GPU must still be specified, otherwise the GPU will be removed)
107+
# Reduces the cpuCount and memory (GPU must still be specified, or the GPU is removed)
108108
Set-EflowVM -cpuCount 2 -memoryInMB 4096 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1
109109
110-
#Removes NVIDIA A2 GPU from the existing deployment
110+
# Removes NVIDIA A2 GPU from the existing deployment
111111
Set-EflowVM -cpuCount 2 -memoryInMB 4096
112112
```
113113

114114
## Next steps
115115

116116
### Get Started with Samples
117-
Visit our [EFLOW Samples Page](https://github.com/Azure/iotedge-eflow/tree/main/samples) to discover several GPU samples which you can try and use. These samples illustrate common manufacturing and retail scenarios such as defect detection, worker safety, and inventory management. Thee open-source samples can serve as a solution template for building your own vision-based machine learning application.
117+
Go to our [EFLOW Samples Page](https://github.com/Azure/iotedge-eflow/tree/main/samples) to find several GPU samples you can try. These samples show common manufacturing and retail scenarios like defect detection, worker safety, and inventory management. These open-source samples can be a solution template for building your own vision-based machine learning application.
118118

119119
### Learn More from our Partners
120-
Several GPU vendors have provided user guides on getting the most of their hardware and software with EFLOW.
120+
Several GPU vendors provide user guides on getting the most from their hardware and software with EFLOW.
121121
* Learn how to run Intel OpenVINO™ applications on EFLOW by following [Intel's guide on iGPU with Azure IoT Edge for Linux on Windows (EFLOW) & OpenVINO™ Toolkit](https://community.intel.com/t5/Blogs/Tech-Innovation/Artificial-Intelligence-AI/Witness-the-power-of-Intel-iGPU-with-Azure-IoT-Edge-for-Linux-on/post/1382405) and [reference implementations](https://www.intel.com/content/www/us/en/developer/articles/technical/deploy-reference-implementation-to-azure-iot-eflow.html).
122122
* Get started with deploying CUDA-accelerated applications on EFLOW by following [NVIDIA's EFLOW User Guide for GeForce/Quadro/RTX GPUs](https://docs.nvidia.com/cuda/eflow-users-guide/index.html).
123123

124124
> [!NOTE]
125-
> This guide does not cover DDA-based GPUs such as NVIDIA T4 or A2.
125+
> This guide doesn't cover DDA-based GPUs like NVIDIA T4 or A2.
126+
127+
### GPU passthrough technology
126128

127-
### Dive into the Technology
128-
Learn more about GPU passthrough technologies by visiting the [DDA documentation](/windows-server/virtualization/hyper-v/plan/plan-for-gpu-acceleration-in-windows-server#discrete-device-assignment-dda) and [GPU-PV blog post](https://devblogs.microsoft.com/directx/directx-heart-linux/#gpu-virtualization).
129+
Learn more about GPU passthrough technologies in the [DDA documentation](/windows-server/virtualization/hyper-v/plan/plan-for-gpu-acceleration-in-windows-server#discrete-device-assignment-dda) and [GPU-PV blog post](https://devblogs.microsoft.com/directx/directx-heart-linux/#gpu-virtualization).

0 commit comments

Comments
 (0)