Closed triblex closed 1 year ago
after install nvidia-repo-l4t,have a try installing nvidia-container-csv-cuda and nvidia-container-csv-cudnn to ensure container can use cuda and cudnn on host
for building nvidia docker on yocoto, maybe you can get some useful info this page : https://blogs.windriver.com/wind_river_blog/2020/05/nvidia-container-runtime-for-wind-river-linux
The NVIDIA Container Toolkit has been updated with better support for Tegra-based systems. Note that these still require the CSV files that are defined by a platform vendor to function.
Please try with an up to date NVIDIA Container Toolkit version and if problems persist, create an issue against the NVIDIA/nvidia-container-toolkit repository.
At this time, there is no Yocto recipe for bitbaking nvidia-container-runtime into a Yocto build. I've tried installing the
.deb
packages from the NVIDIA SDK-manager but this is apparently not enough to get the GPU access through to the containers, as running any CUDA-10 example in a docker container running nvidia-container-runtime will result in an error stating that no CUDA ready devices were found. Running an example outside of the container runs without problems.Looking in the rootfs the default Nvidia Ubuntu that is created from the SDK-manager, i can see there is a lot of libraries and configurations that is not available in Yocto. Specifically I've come across the csv files in /etc/nvidia-container-runtime/host-files-for-container.d/. This looks promising as they list a ton of stuff that are merged into a container that is run with nvidia-container-runtime.
Only the
l4t.csv
file contains several "not found" files. As many as possible were installed through Yocto recipes, but a lot of them are still lacking and not supported in Yocto. Instead, the missing files that could not be provided from Yocto were removed from the list, one by one. Eventually though, the error received when trying to run the docker with nvidia-container-runtime is:nvidia-container-cli: mount error: (null)
is an error i cannot seem to figure out how to solve.Below are information from the build
OS:
Linux nano 4.9.140-l4t-r32.3.1+g47e7e1c #1 SMP PREEMPT Mon Jan 20 08:52:22 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux
YOCTO INFO: Yocto/poky zeus r32.3.1 (JetPack 4.3)
CUDA INFO:
DOCKER INFO:
NVIDIA-CONTAINER-RUNTIME INFO:
I am stuck in getting this to work as I've tried almost anything I can think of. Does anyone know anything about getting Nvidia-container-runtime to work with Yocto?