Some packages are newer version than your JetPack 4.6.1:
$ apt list --installed | grep docker
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
docker/bionic,now 1.5-1build1 arm64 [installed]
docker.io/bionic-updates,bionic-security,now 20.10.7-0ubuntu5~18.04.3 arm64 [installed]
nvidia-docker2/bionic,now 2.10.0-1 all [installed]
$ apt list --installed | grep container
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
containerd/bionic-updates,bionic-security,now 1.5.5-0ubuntu3~18.04.2 arm64 [installed,automatic]
libnvidia-container-tools/bionic,now 1.9.0-1 arm64 [installed]
libnvidia-container0/bionic,now 0.11.0+jetpack arm64 [installed]
libnvidia-container1/bionic,now 1.9.0-1 arm64 [installed]
nvidia-container-csv-cuda/stable,now 10.2.460-1 arm64 [installed]
nvidia-container-csv-cudnn/stable,now 8.2.1.32-1+cuda10.2 arm64 [installed]
nvidia-container-csv-tensorrt/stable,now 8.2.1.8-1+cuda10.2 arm64 [installed]
nvidia-container-csv-visionworks/stable,now 1.6.0.501 arm64 [installed]
nvidia-container-runtime/bionic,now 3.9.0-1 all [installed]
nvidia-container-toolkit/bionic,now 1.9.0-1 arm64 [installed]
libcudnn.so.8 is also needed:
$ docker run -it --rm --runtime nvidia --network host -v /usr/local/cuda-10.2/:/usr/local/cuda-10.2/:ro nvcr.io/nvidia/l4t-pytorch:r32.7.1-pth1.9-py3
root@agx:/# python3 -c 'import torch'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/local/lib/python3.6/dist-packages/torch/__init__.py", line 196, in <module>
_load_global_deps()
File "/usr/local/lib/python3.6/dist-packages/torch/__init__.py", line 149, in _load_global_deps
ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL)
File "/usr/lib/python3.6/ctypes/__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /usr/lib/aarch64-linux-gnu/libcudnn.so.8: file too short
After I force mount /usr/lib/aarch64-linux-gnu
too, it seems that torch is available!
$ docker run -it --rm --runtime nvidia --network host -v /usr/local/cuda-10.2/:/usr/local/cuda-10.2/:ro -v /usr/lib/aarch64-linux-gnu/:/usr/lib/aarch64-linux-gnu nvcr.io/nvidia/l4t-pytorch:r32.7.1-pth1.9-py3
root@agx:/# python3 -c 'import torch; print(torch.cuda.is_available())'
True
But when I add read-only option to /usr/lib/aarch64-linux-gnu
, it fails to run container:
$ docker run -it --rm --runtime nvidia --network host -v /usr/local/cuda-10.2/:/usr/local/cuda-10.2/:ro -v /usr/lib/aarch64-linux-gnu/:/usr/lib/aarch64-linux-gnu:ro nvcr.io/nvidia/l4t-pytorch:r32.7.1-pth1.9-py3
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: Running hook #0:: error running hook: exit status 1, stdout: src: /etc/vulkan/icd.d/nvidia_icd.json, src_lnk: /usr/lib/aarch64-linux-gnu/tegra/nvidia_icd.json, dst: /mnt/m2ssd/docker/overlay2/2150184e7577a3a38c5cade12e51d8fab5da5ca67e7bad9f0e0d39527d396eac/merged/etc/vulkan/icd.d/nvidia_icd.json, dst_lnk: /usr/lib/aarch64-linux-gnu/tegra/nvidia_icd.json
src: /usr/lib/aarch64-linux-gnu/libcuda.so, src_lnk: tegra/libcuda.so, dst: /mnt/m2ssd/docker/overlay2/2150184e7577a3a38c5cade12e51d8fab5da5ca67e7bad9f0e0d39527d396eac/merged/usr/lib/aarch64-linux-gnu/libcuda.so, dst_lnk: tegra/libcuda.so
, stderr: nvidia-container-cli: mount error: stat failed: /usr/lib/python3.6/dist-packages/onnx_graphsurgeon: no such file or directory: unknown.