阿里云CentOS7下安装CUDA 9.0 + CUDNN 7.
版本
tensorflow-gpu 版本 1.11.0
CUDA 版本 9.0(注:pip安装的tensorflow只支持9.0版本,不支持最新10.0以及9.1、9.2)
cudnn 7.3 (for CUDA 9.0)
下载链接
CUDA 9.2 https://developer.nvidia.com/cuda-92-download-archive?target_os=Linux
CUDA 9.0 https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux
cudnn 7.3 https://developer.nvidia.com/rdp/cudnn-download (要注册开发者帐号,啰嗦无比)
屏蔽默认带有的nouveau(默认 GPU 驱动)
1、打开/lib/modprobe.d/dist-blacklist.conf
2、编辑该文件,操作如下:
将nvidiafb注释掉: #blacklist nvidiafb
然后添加以下语句:
blacklist nouveau
options nouveau modeset=0
3、重建initramfs image步骤
mv /boot/initramfs-(uname -r).img.bak
dracut /boot/initramfs-(uname -r)
4、修改运行级别为文本模式
systemctl set-default multi-user.target
5、重新启动, 使用root用户登陆
reboot
6、查看nouveau是否已经禁用
lsmod | grep nouveau
准备工作
安装 dkms
yum install epel-release
yum install --enablerepo=epel dkms
安装 kernel 的相关包
yum install kernel*
下载 CUDA 的直接可执行包
下载 CUDA 9.0 和 CUDA 9.2 (这里不下载 rpm 包)
安装和运行 CUDA 9.2 安装 NVIDIA Driver 和 toolkit
sh cuda_9.2.148_396.37_linux
验证 Nvidia 驱动
dkms status
nvidia-smi
安装CUDA 9.0
1、卸载 CUDA 9.2 的 toolkit
/usr/local/cuda-9.2/bin/uninstall_cuda_9.2.pl
2、安装 CUDA 9.0 但是不要安装 NVIDIA Driver (执行中有选项)
sh cuda_9.0.176_384.81_linux-run
验证驱动
./usr/local/cuda-9.1/extras/demo_suite/deviceQuery
安装 cudnn 7.3 参考官方文档
https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
一共4步
tar -xzvf cudnn-9.0-linux-x64-v7.tgz
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 /usr/local/cuda/lib64/libcudnn*
设置路径
添加 /usr/local/cuda-9.0/bin 到 PATH
添加 /usr/local/cuda-9.0/lib64 到 LD_LIBRARY_PATH
具体参考官方文档里面的命名建议 https://developer.download.nvidia.com/compute/cuda/9.2/Prod2/docs/sidebar/CUDA_Installation_Guide_Linux.pdf
安装 tensorflow
pip install tensorflow-gpu (默认安装1.11.0)
代码验证
import tensorflow as tf
sess = tf.Session()
常见问题
1、执行 nvidia-smi,一直报 “NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver ...... ”
NVIDIA 驱动安装不正确,需要重装,先执行 nvidia-uninstall 卸载,再重装驱动
2、libcublas.so.9.0: cannot open shared object file: No such file or directory
LD_LIBRARY_PATH 未正确设置,或者安装了9.2的CUDA(因此没找到9.0的 so 文件)
其他
yum list <package_name> --showduplicates
yum install <pacakge_name>-<version>