Nvidia Jetson Nano和docker 我正在英伟达Jexon纳米公司上运行一个定制的YOCO图像,它包含了DOCK CE(V19.03.2)。我可以毫无问题地运行docker

Nvidia Jetson Nano和docker 我正在英伟达Jexon纳米公司上运行一个定制的YOCO图像,它包含了DOCK CE(V19.03.2)。我可以毫无问题地运行docker,docker,cuda,nvidia,yocto,nvidia-jetson,Docker,Cuda,Nvidia,Yocto,Nvidia Jetson,当我想使用docker进行视觉测试时,问题就来了。我需要访问主机端CUDA和tensorRT。这是通过英伟达集装箱运行时间在码头工人CE之上。我已经手动安装了Nvidia容器运行时(v0.9.0 beta)(提取了必要的.deb包并将其复制粘贴到rootfs中)以在我的构建上进行测试,它似乎工作正常 当我运行docker info时,我可以看到nvidia运行时可用,当我使用docker run-it--runtime=nvidia image运行docker时,它不会抱怨 如果在docker外

当我想使用docker进行视觉测试时,问题就来了。我需要访问主机端CUDA和tensorRT。这是通过英伟达集装箱运行时间在码头工人CE之上。我已经手动安装了Nvidia容器运行时(v0.9.0 beta)(提取了必要的.deb包并将其复制粘贴到rootfs中)以在我的构建上进行测试,它似乎工作正常

当我运行
docker info
时,我可以看到
nvidia
运行时可用,当我使用
docker run-it--runtime=nvidia image运行docker时,它不会抱怨

如果在docker外部运行deviceQuery测试,则会得到以下结果:

$ /usr/bin/cuda-samples/deviceQuery
...
CUDA Driver Version / Runtime Version          10.0 / 10.0
CUDA Capability Major/Minor version number:    5.3
...
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.0, CUDA Runtime Version = 10.0, NumDevs = 1
Result = PASS
但是,当我想在docker中运行
deviceQuery
以测试CUDA可用性时,它失败了:

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

cudaGetDeviceCount returned 35
-> CUDA driver version is insufficient for CUDA runtime version
Result = FAIL
其中Dockerfile如下所示:

FROM nvcr.io/nvidia/l4t-base:r32.2

COPY ./deviceQuery /tmp/deviceQuery

WORKDIR /tmp/

CMD ["./deviceQuery"]
所以我的问题是:

为什么即使我在docker中安装了Nvidia容器运行时,deviceQuery测试仍会在docker中失败我如何解决这个问题

------------编辑:----------


从英伟达DeValTalk中获得更多关于这个的信息,

< P> > Navdia SDK管理器中包含的ROTFS中包含的代码< >代码>包含用于通过GPU访问容器所需的特定的LIB/DIR/SYM。.csv文件中列出的文件将合并到容器中,并允许访问这些文件。需要哪些特定文件,取决于容器中需要什么

当然,非常重要的是,csv文件中列出的文件的实际路径在主机上是相同的,否则合并将失败。这些路径在默认的Yocto设置中不是正确的路径,因为它们是为默认的NVIDIA SDK管理器映像rootfs设置创建的,因此需要更正

一旦纠正,应该可以访问容器中的GPU加速,并且可以通过执行deviceQuery测试进行确认