Skip to content

Commit 04d9667

Browse files
authored
Merge pull request #222511 from chrisdats/chrisdats-gpuedits
Updates to EFLOW GPU documentation
2 parents ca5545b + 3419530 commit 04d9667

File tree

1 file changed

+38
-5
lines changed

1 file changed

+38
-5
lines changed

articles/iot-edge/gpu-acceleration.md

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,19 +77,52 @@ Windows 10 users must also [install WSL](/windows/wsl/install) because some of t
7777
## Enable GPU acceleration in your Azure IoT Edge Linux on Windows deployment
7878
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.
7979

80-
For example, the command below creates a virtual machine with an NVIDIA A2 GPU assigned.
80+
For example, the following commands create a GPU-enabled virtual machine with either an NVIDIA A2 GPU or Intel Iris Xe Graphics card.
8181

8282
```powershell
83-
Deploy-Eflow -gpuPassthroughType "DirectDeviceAssignment" -gpuCount 1 -gpuName "NVIDIA A2"
83+
#Deploys EFLOW with NVIDIA A2 assigned to the EFLOW VM
84+
Deploy-Eflow -gpuPassthroughType DirectDeviceAssignment -gpuCount 1 -gpuName "NVIDIA A2"
85+
86+
#Deploys EFLOW with Intel(R) Iris(R) Xe Graphics assigned to the EFLOW VM
87+
Deploy-Eflow -gpuPassthroughType ParaVirtualization -gpuCount 1 -gpuName “Intel(R) Iris(R) Xe Graphics”
88+
```
89+
90+
To find the name of your GPU, you can run the following command or look for Display adapters in Device Manager.
91+
```powershell
92+
(Get-WmiObject win32_VideoController).caption
8493
```
8594

8695
Once installation is complete, you are ready to deploy and run GPU-accelerated Linux modules through Azure IoT Edge for Linux on Windows.
8796

97+
## 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,
99+
100+
```powershell
101+
#Deploys EFLOW without a GPU assigned to the EFLOW VM
102+
Deploy-Eflow -cpuCount 4 -memoryInMB 16384
103+
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)
105+
Set-EflowVM -cpuCount 4 -memoryInMB 16384 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1
106+
107+
#Reduces the cpuCount and memory (GPU must still be specified, otherwise the GPU will be removed)
108+
Set-EflowVM -cpuCount 2 -memoryInMB 4096 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1
109+
110+
#Removes NVIDIA A2 GPU from the existing deployment
111+
Set-EflowVM -cpuCount 2 -memoryInMB 4096
112+
```
88113

89114
## Next steps
90115

91-
* Try our [GPU-enabled sample featuring Vision on Edge](https://github.com/Azure-Samples/azure-intelligent-edge-patterns/blob/master/factory-ai-vision/Tutorial/Eflow.md), a solution template illustrating how to build your own vision-based machine learning application.
116+
### 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.
118+
119+
### Learn More from our Partners
120+
Several GPU vendors have provided user guides on getting the most of their hardware and software with EFLOW.
121+
* 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).
122+
* 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).
92123

93-
* Discover 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).
124+
> [!NOTE]
125+
> This guide does not cover DDA-based GPUs such as NVIDIA T4 or A2.
94126
95-
* 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).
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).

0 commit comments

Comments
 (0)