Hailo Dataflow Compiler / GPU driver can't be detected

Hello Guys,
as one of many I have encountered the same frustrating warning regarding optimization with the DFC

[warning] Reducing optimization level to 0 (the accuracy won't be optimized and compression won't be used) because there's no available GPU
[warning] Running model optimization with zero level of optimization is not recommended for production use and might lead to suboptimal accuracy results

I’ve tried both the manual installation route and the docker container route, always facing the same issue.

I will only refer from this point on to the usage of the docker container, since it is the recommended way for using the DFC.

When I check in the ubuntu docker host (in WSL) the nvidia driver will be detected

NVIDIA-SMI 565.77.01              Driver Version: 566.36         CUDA Version: 12.7

But starting the docker container the driver won’t be found:

WARNING: The NVIDIA Driver was not detected.  GPU functionality will not be available.
   Use the NVIDIA Container Toolkit to start this container with GPU support; see
   https://docs.nvidia.com/datacenter/cloud-native/ .

Also the nvidia-smi command is unknown to the docker container.

cuDNN 8.9 seems to be active inside the container:

(hailo_virtualenv) hailo@DESKTOP-Q07QB8F:/local/workspace$ dpkg -l | grep cudnn
ii  cudnn-local-repo-ubuntu2204-8.9.0.131  1.0-1                                   amd64        cudnn-local repository configuration files
hi  libcudnn8                              8.9.6.50-1+cuda11.8                     amd64        cuDNN runtime libraries

and CUDA 11.8 too:

(hailo_virtualenv) hailo@DESKTOP-Q07QB8F:/local/workspace$ dpkg -l | grep cuda
hi  cuda-cccl-11-8                         11.8.89-1                               amd64        CUDA CCCL
hi  cuda-compat-11-8                       520.61.05-1                             amd64        CUDA Compatibility Platform
hi  cuda-cudart-11-8                       11.8.89-1                               amd64        CUDA Runtime native Libraries
hi  cuda-cudart-dev-11-8                   11.8.89-1                               amd64        CUDA Runtime native dev links, headers
hi  cuda-driver-dev-11-8                   11.8.89-1                               amd64        CUDA Driver native dev stub library
hi  cuda-keyring                           1.0-1                                   all          GPG keyring for the CUDA repository
hi  cuda-libraries-11-8                    11.8.0-1                                amd64        CUDA Libraries 11.8 meta-package
hi  cuda-nvcc-11-8                         11.8.89-1                               amd64        CUDA nvcc
hi  cuda-nvrtc-11-8                        11.8.89-1                               amd64        NVRTC native runtime libraries
hi  cuda-nvtx-11-8                         11.8.86-1                               amd64        NVIDIA Tools Extension
hi  cuda-toolkit-11-8-config-common        11.8.89-1                               all          Common config package for CUDA Toolkit 11.8.
hi  cuda-toolkit-11-config-common          11.8.89-1                               all          Common config package for CUDA Toolkit 11.
hi  cuda-toolkit-config-common             12.3.52-1                               all          Common config package for CUDA Toolkit.
hi  libcudnn8                              8.9.6.50-1+cuda11.8                     amd64        cuDNN runtime libraries
hi  libnccl2                               2.15.5-1+cuda11.8                       amd64        NVIDIA Collective Communication Library (NCCL) Runtime

Of course, I’ve installed nvidia-docker2 before I’ve started the container

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L \
https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list \
| sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

Sorry for the formatting of the terminal content looks like crap.

Solved. Running the Dataflow Compiler with GPU / optimization under WSL is not supported! In other words: GPU / optimization support is only given with native Linux environments!

Hey @user115,

You’re correct about the GPU support under WSL. We have an open Jira ticket for this issue, and our R&D team is currently working on it. We’ll update you when I have more information.

1 Like