Closed raghavduddala closed 2 years ago
The static libraries are intentionally removed from our NGC container images in order to reduce the size of the images. There is no automatic way to install the static images, but the following should more or less do what you want.
First, install the NVIDIA developer Debian package repo.
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
dpkg -i cuda-keyring_1.0-1_all.deb
apt update
Then, check https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ for "dev" package versions similar to those installed in your container and install them with apt. For 22.02-tf2, you would likely want the following.
apt install --reinstall --no-install-recommends \
libcublas-dev-11-8=11.11.3.6-1 \
libcudnn8-dev=8.3.2.44-1+cuda11.5 \
libcufft-dev-11-6=10.7.0.55-1 \
libcurand-dev-11-6=10.2.9.55-1 \
libcusolver-dev-11-6=11.3.2.55-1 \
libcusparse-dev-11-6=11.7.1.55-1
# And so on for additional libraries needed.
The above will also re-install some packages that you don't strictly need. You can alternatively, download the "dev" deb packages and manually extract the static libs if maintaining a small image is important.
Thanks @nluehr , that helped install the required cuda static libraries.
System information
Describe the problem I am trying to build Open3D from source using the 22.02-tf2-py3 AMD64 (architecture)as the base image. The Open3d-ML requires static cuda libraries like the libcusolver_static.a, libcublas_static etc.... but the current tensorflow container only has the dynamic cuda libraries like libcusolver.so , libcublas.so etc..
Provide the exact sequence of commands / steps that you executed before running into the problem So I checked the cuda libraries installed and only find the dynamic .so for mots of them.
Any other info / logs
Following is the cmkae file that uses the find_package toolkit from CMake to find the static cuda targets : https://github.com/isl-org/Open3D/blob/v0.15.1/3rdparty/find_dependencies.cmake#L1454
So, is there any possibility of adding those missing static libraries or any way of installing them on to this container? Also any reason they are available in the cudnn-devel containers and not in the tensorflow container?