在使用CUDA的过程中,常会遇到以下问题:
Error: libcudart.so.9.0: cannot open shared object file: No such file or directory
// 或者
Error: libcusolver.so.9.0: cannot open shared object file: No such file or direcctory
// 或者
Error: libcublas.so.9.0: cannot open shared object file: No such file or direcctory
大部分情况下是环境没有配好,以下是第一种可靠的解决方法:
cd ~
sudo vi .bashrc
// 下滑到文件末,添加以下内容
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
// 刷新.bashrc
source .bashrc
// 以上解法是对生成了软连接的情况;如果没有生成软连接,则把以上的cuda改为cuda-9.0
如果添加好了环境,还是出现同样的报错,则可以尝试以下解法:
cd ~
sudo cp /usr/local/cuda-9.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.9.0 && sudo ldconfig
cp /usr/local/cuda-9.0/lib64/libcublas.so.9.0 /usr/local/lib/libcublas.so.9.0 && sudo ldconfig
cp /usr/local/cuda-9.0/lib64/libcurand.so.9.0 /usr/local/lib/libcurand.so.9.0 && sudo ldconfig
一般情况下,以上两种解法可以搞定问题的;如果还是报错libcusolver.so.9.0不存在,下面是算是一种解法:
sudo ldconfig /usr/local/cuda/lib64