My requirement is to run application inside docker on tx2. How to install cuda, cudnn and related libraries inside docker container?
I tried the following.
Mounted /usr/local/cuda/ to docker container (cuda 10.2).
infact the following command
docker container run --rm --net=host --privileged -e PATH=:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib/cm:/usr/lib:/opt/libav/lib:/opt/pylon5/lib64:/usr/lib/aarch64-linux-gnu/tegra:/usr/local/cuda/lib64 --device=/dev/nvhost-ctrl --device=/dev/nvhost-ctrl-gpu --device=/dev/nvhost-prof-gpu --device=/dev/nvmap --device=/dev/nvhost-gpu --device=/dev/nvhost-as-gpu -v /usr/local/cuda-10.2:/usr/local/cuda -v /usr/lib/aarch64-linux-gnu/tegra:/usr/lib/aarch64-linux-gnu/tegra
then I faced issue regarding related to libcudnn.so and libcublas.so.10. I overcome the libcudnn issue by installing libcudnn8_8.0.0.180-1+cuda10.2_arm64.deb and libcudnn8-dev_8.0.0.180-1+cuda10.2_arm64.deb inside docker container.
But still facing issue for libcublas.so.10. how to overcome this?
Or do you have a prebuilt docker image for cuda10.2 an cudnn 8. so that I can simply derived my docker from that.
I have found an image 10.2-cudnn8-devel-ubuntu18.04. but this is applicable for x86_64 I need similar image for arm64.
./example1 2021-05-05 08:16:54.751115: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library ‘libcudart.so.10.2’; dlerror: libcudart.so.10.2: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/lib:/usr/local/lib/cm:/usr/lib:/opt/libav/lib:/opt/pylon5/lib64:/usr/lib/aarch64-linux-gnu/tegra
2021-05-05 08:16:54.751219: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Hello from TensorFlow C library version 2.3.1
No it is not able to access cudart libraries. I have used the following command
In the command above I have not mounted “-v /usr/local/cuda-10.2:/usr/local/cuda” to the container. also removed “/usr/local/cuda/bin” from PATH and /usr/local/cuda/lib64 from LD_LIBRARY_PATH variables.