Tensorflow Enabled nvidia-docker for Xavier

Hello all,

I am currently trying to run nvidia-docker on Jetson Xavier with Tensorflow enabled inside the container but the main problem I’m facing right now is related to “libcublas.so”.

What I’ve tried so for is the solution mentioned here:

https://devtalk.nvidia.com/default/topic/1043951/jetson-agx-xavier/docker-gpu-acceleration-on-jetson-agx-for-ubuntu-18-04-image/post/5296647/#5296647

After the OpenGL image creation is completed, I started an interactive container from it. Then I followed the instructions from the link below to install Tensorflow GPU for Xavier:

https://docs.nvidia.com/deeplearning/dgx/install-tf-xavier/index.html#prereqs

All of the package installations (pip installs and apt-get installs) completed succesfully but when I try to import tensorflow from both Python 2.7 and 3.6, I get the following error:

ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory

Also when I enter find / -type f -iname “libcublas*” command, it gives this result:

/usr/local/cuda/lib64/stubs/libcublas.so
/usr/local/cuda/lib64/libcublas.so.10.0.117
/usr/local/cuda/lib64/libcublas_static.a
find: ‘/proc/1/map_files’: Permission denied
find: ‘/proc/16/map_files’: Permission denied

Can you please help me on what I am missing and how can I manage to run tensorflow gpu on a docker container using Jetson Xavier?

Hi,

nvidia-docker doesn’t support Jetson platform yet.
Please try the official docker to see if it works.

It looks like the topic you shared also use the official docker.
Thanks.

Hi again,

Yes, it uses the official docker but with “GPU Flags” enabled right? What I mean when I say “nvidia-docker on Jetson” is that the possibility of using the docker on Jetson with GPU enabled.

The script given in that topic is makes using docker with GPU flags enabled on Jetson Xavier possible, doesn’t it?

Thanks.

Hi @doruk898,

Your problem seems only this.

How about creating a symbolic link?

ln -s /usr/local/cuda/lib64/libcublas.so.10.0.117 /usr/local/cuda/lib64/libcublas.so.10.0

Hi,

Official docker is working on Xavier. But nvidia-docker isn’t.

To use the CUDA library, you will need to add the corresponding path into the dockerfile:
Here is a good example for your reference:
https://github.com/Technica-Corporation/Tegra-Docker/blob/master/docker/samples/deviceQuery/Dockerfile

Thanks.

Hi,

Thanks for source. I’ve created the image with installing CUDA directly inside the container like the way JetPack installs it on the Xavier.

Thanks.

Hi,

Maybe try this?

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

Thanks.

Hey @doruk898, I’m running into a similar issue. Can you please show your Dockerfile or explain how you were able to mimic the Jetpack installer within a Dockerfile?

Much appreciated!