Context: I wanted to maintain multiple versions of cuda (10.1, 10.2 for here) using ansible.
It would better to use docker but I need other solution for other reasons (multiple frameworks, multiple platforms, … etc).
With older version, apt-get installs libcublas
at cuda-independent location.
❯❯❯ sudo apt-get install libcublas10=10.2.0.168-1
❯❯❯ dpkg -L libcublas10
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/libcublas10
/usr/share/doc/libcublas10/changelog.Debian.gz
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libnvblas.so.10.2.0.168
/usr/lib/x86_64-linux-gnu/libcublasLt.so.10.2.0.168
/usr/lib/x86_64-linux-gnu/libcublas.so.10.2.0.168
/usr/lib/x86_64-linux-gnu/libcublas.so.10
/usr/lib/x86_64-linux-gnu/libcublasLt.so.10
/usr/lib/x86_64-linux-gnu/libnvblas.so.10
But for new versions (>= 10.2.1), apt-get installs libcublas
at cuda-dependent location, which removes previous installation and prevents us to use multiple cuda versions easly.
❯❯❯ sudo apt-get install libcublas10=10.2.3.254-1
❯❯❯ dpkg -L libcublas10
/.
/usr
/usr/local
/usr/local/cuda-10.2
/usr/local/cuda-10.2/targets
/usr/local/cuda-10.2/targets/x86_64-linux
/usr/local/cuda-10.2/targets/x86_64-linux/lib
/usr/local/cuda-10.2/targets/x86_64-linux/lib/libcublas.so.10.2.3.254
/usr/local/cuda-10.2/targets/x86_64-linux/lib/libcublasLt.so.10.2.3.254
/usr/local/cuda-10.2/targets/x86_64-linux/lib/libnvblas.so.10.2.3.254
/usr/share
/usr/share/doc
/usr/share/doc/libcublas10
/usr/share/doc/libcublas10/changelog.Debian.gz
/usr/share/doc/libcublas10/copyright
/usr/local/cuda-10.2/lib64
/usr/local/cuda-10.2/targets/x86_64-linux/lib/libcublas.so.10
/usr/local/cuda-10.2/targets/x86_64-linux/lib/libcublasLt.so.10
/usr/local/cuda-10.2/targets/x86_64-linux/lib/libnvblas.so.10
How can I install libcublas
on multiple cuda environment without manual struggling?