记录时间2021年8月21日。
NVIDIA QUADRO RTX 6000对ubuntu20.04版本以下的系统支持的不是很好,故安装ubuntu20.04,过程略。
pip3.6 install tensorflow-gpu==1.15.0
早期cuda版本安装的为11.x的,11.4和11.1都有试过,在运行tensorflow程序调用gpu时,打不开相关文件,比如找不到libcudart.so.10.0、libcublas.so.10.0、libcufft.so.10.0、libcurand.so.10.0、libcusolver.so.10.0、libcusparse.so.10.0和一个libcudnn.so.7
但是cuda路径下有libxxx.so.11.0的版本,于是cp了一份并改名,结果不能使用。
可能是因为tensorflow-gpu的1.15.0版本还没有做适配,无法使用cuda11.x,考虑重装cuda和cudnn。
从11开始的cuda卸载方式发生变化(以11.0为例):
cd /usr/local/cuda-11.0/bin/
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-11.0
怕卸载不干净可以再来个:
sudo apt-get uninstall cuda-*
cudnn如果是解压安装的,可以随着cuda删除。
如果是deb包安装的,可尝试:
sudo dpkg -P libcudnn8
也可能是libcudnn7,看自己安装的版本,不过不知道这样算不算卸载干净。
cuda10.0安装
ubuntu20.04上cuda10.0安装需要对系统的gcc、gcc+降级:
具体安装过程参考https://blog.csdn.net/wwlswj/article/details/106364094
因为Ubuntu20.04自带的gcc版本为9.3,而cuda10.1不支持gcc-9,因此要手动安装gcc-7,命令如下:
sudo apt-get install gcc-7 g++-7
安装完gcc-7,系统中就存在两个版本的gcc,因此要设置默认的gcc,命令如下:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
此命令可以通过update-alternatives设置gcc各版本的优先级,优先级最高的为系统默认版本,可以用下述命令显示其优先级:
sudo update-alternatives --display gcc
设置默认的g++也是如此:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
显示g++优先级:
sudo update-alternatives --display g++
然后就可以下载针对Ubuntu18.04的cuda10版本了。
查看cudnn版本
nvcc -V
如果没有首先检查系统.bashrc文件中是否配置好了路径。
cudnn7.6.5 ( for cuda10 ) 安装
下载针对linux版本的压缩包cuDNN Library for Linux即可,最好不要使用cuDNN Runtime Library for Ubuntu18.04 (Deb)。
解压提取压缩包
拷贝到cuda目录
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
查看cudnn版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
附上另一种可能可以使用cuda11.1的方法:https://blog.csdn.net/qq_35635340/article/details/110138215
由于安装tensorflow的依赖太过于复杂,我没有去尝试。感兴趣的大佬可以试试。