- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to dockerize an application that requires GPU Acceleration (At least OpenCL) and deploy it to Azure IoTEdge, however I am not able to view any result inside the docker container using the clinfo command while running the container inside IoTEdge's EFLOW. I have done the steps indicated in the following articles, however still I am not able to use view the gpu inside a docker container.
https://docs.microsoft.com/en-us/azure/iot-edge/gpu-acceleration?view=iotedge-2020-11
For reference, I have been able to successfully view the GPU inside a docker container running on a WSL environment installing the correct drivers and using the following command:
docker run -it --device /dev/dxg --volume /usr/lib/wsl:/usr/lib/wsl <image_name>
However I couldn't replicate that inside EFLOW because there is no /dev/dxg device
Any thoughts on how could I access the iGPU inside a docker in EFLOW, or at least how to verify if I have done the steps shown in the links correctly?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Davidrc,
Sorry for the late catch-up. Just to check with you again, do you enable ParaVirtualization for GPU when you are running your Deploy-Eflow command? Without specifying this you will not able to see /dev/dxg device in your EflowVM.
Here is the sample of the command that you can use:
$cpu_count = 4
$memory = 4096
$hard_disk = 30
$gpu_name = (Get-WmiObject win32_VideoController | where{$_.name -like "Intel(R)*"}).caption
Deploy-Eflow -acceptEula yes -acceptOptionalTelemetry no -headless -cpuCount $cpu_count -memoryInMB $memory -vmDiskSize $hard_disk -gpuName $gpu_name -gpuPassthroughType ParaVirtualization -gpuCount 1
You should be able to see /dev/dxg device if GPU is passthrough correctly to the EflowVM
Regards,
Lim Xiang Yang
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Davidrc,
May I know if I can get more info?
- Windows Version that is used?
- Intel graphics driver that is installed?
- System processor that is used?
Regards,
Lim Xiang Yang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sure,
- Windows 10 Pro version 21H2
- Intel® Graphics – Windows DCH Drivers version 30.0.101.1660 and (inside docker) Intel Compute Runtime + OpenCL Driver version 22.15.22905
- Intel Core i7-8560U With UHD Graphics 620
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Davidrc,
Sorry for the late catch-up. Just to check with you again, do you enable ParaVirtualization for GPU when you are running your Deploy-Eflow command? Without specifying this you will not able to see /dev/dxg device in your EflowVM.
Here is the sample of the command that you can use:
$cpu_count = 4
$memory = 4096
$hard_disk = 30
$gpu_name = (Get-WmiObject win32_VideoController | where{$_.name -like "Intel(R)*"}).caption
Deploy-Eflow -acceptEula yes -acceptOptionalTelemetry no -headless -cpuCount $cpu_count -memoryInMB $memory -vmDiskSize $hard_disk -gpuName $gpu_name -gpuPassthroughType ParaVirtualization -gpuCount 1
You should be able to see /dev/dxg device if GPU is passthrough correctly to the EflowVM
Regards,
Lim Xiang Yang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you need any additional information, please submit a new question as this thread will no longer be monitored.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page