Jetson TX1 Jetpack 2.0 missing CUDA libraries problem

Jetpack 2.0 does not seem to be installing all the CUDA libraries I was expecting on my TX1. In particular libcudnn.so and libcusolver.so are not installed. The NIVIDA Jetpack page, https://developer.nvidia.com/embedded/jetson-development-pack, describes that cuDNN 4.0 RC1 is included. I tried manually running “sudo apt-get install cuda-cudnn-7-0” and “sudo apt-get install cuda-cusolver-7-0”. These run successfully, but do not install any actual library files.

It appears that the packages do not include any library files:
tka0087@tegra-ubuntu:~$ sudo dpkg-query -L cuda-cudnn-7-0
/.
/usr
/usr/local
/usr/local/cuda-7.0
/usr/local/cuda-7.0/targets
/usr/local/cuda-7.0/targets/armv7-linux-gnueabihf
/usr/local/cuda-7.0/targets/armv7-linux-gnueabihf/lib
/usr/share
/usr/share/doc
/usr/share/doc/cuda-cudnn-7-0
/usr/share/doc/cuda-cudnn-7-0/changelog.Debian.gz
/usr/share/doc/cuda-cudnn-7-0/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/cuda-cudnn-7-0
/usr/local/cuda-7.0/lib

tka0087@tegra-ubuntu:~$ sudo dpkg-query -L cuda-cusolver-7-0
/.
/usr
/usr/local
/usr/local/cuda-7.0
/usr/local/cuda-7.0/targets
/usr/local/cuda-7.0/targets/armv7-linux-gnueabihf
/usr/local/cuda-7.0/targets/armv7-linux-gnueabihf/lib
/usr/share
/usr/share/doc
/usr/share/doc/cuda-cusolver-7-0
/usr/share/doc/cuda-cusolver-7-0/changelog.Debian.gz
/usr/share/doc/cuda-cusolver-7-0/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/cuda-cusolver-7-0
/usr/local/cuda-7.0/lib

Any suggestions how I can get libcudnn 4.0 and libcusolver installed on the TX1?

Thanks, Troy.

On the install that I did today with JetPack 2.0 on the Jetson TX1, the cuDNN libraries were in the home directory in the ‘cudnn’ folder. There are instructions in the folder on installing the include and lib files. How did you install cuDNN?

We didn’t end up with a cudnn directory in the home directory so we haven’t been able to install cuDNN 4.0. We will try to reinstall the Jetpack again.

Did libcusolver.so get installed into the CUDA directory for you? We are missing that library.

Thanks for the info.

JetPack 2.0 install, CUDA selected

cusolver location on this JetPack 2.0 install:

./usr/local/cuda-7.0/doc/man/man7/libcusolver.so.7

libcudnn.so was installed here:

./usr/local/cuda-7.0/targets/armv7-linux-gnueabihf/lib/libcudnn.so.4
./usr/local/cuda-7.0/targets/armv7-linux-gnueabihf/lib/libcudnn.so
./usr/local/cuda-7.0/targets/armv7-linux-gnueabihf/lib/libcudnn_static.a
./usr/local/cuda-7.0/targets/armv7-linux-gnueabihf/lib/libcudnn.so.4.0.2

Following up on this. After re-installing/flashing the JetPack 2.0, we now have a cudnn folder in the Ubuntu home directory on the TX1.

However, the libcusolver.so library is still missing. The previous post mentioned /usr/local/cuda-7.0/doc/man/man7/libcusolver.so.7, which is present, but that is a man entry, not the actual library. I’m attempting to build ArrayFire and it seems to want the missing libcusolver.so library.

If you know how to retrieve the missing libcusolver.so library, please let me know.

Thanks, Troy.

libcusolver.so is not supported on ARMv7(32-bit) yet. It will be soon.

Thanks for the reply, but do you mean ARMv8 (64-bit)? I understand that the TX1 uses Cortex-A57 64-bit ARMv8 CPU cores and needs 64-bit versions of the CUDA libraries.

Troy.

The TX1 has a 32-bit runtime right now, which I believe is going to change next year.

Oh, I see now.

tegra-ubuntu:~> file /usr/local/cuda/lib/libcudart.so.7.0.71
/usr/local/cuda/lib/libcudart.so.7.0.71: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, stripped

Thanks, Troy.