系统环境:centos7.4
内核版本:3.10.0-862.14.4.el7.x86_64
本教程安装nvidia驱动过程中需要linux内核源码编译驱动,第一次安装时机器预装内核版本是3.10.0-693.el7.x86_64,但由于linux内核源码官网没有找到3.10.0-693.el7.x86_64版本的源码,故升级内核至3.10.0-862.14.4.el7.x86_64,若当前内核高于此版本,则在编译过程中需下载对应版本内核源码至/usr/src/kernels目录
软件包准备(下载下列软件包到指定目录,如root用户根目录):
1、 NVIDIA-Linux-x86_64-410.72.run
下载地址:http://cn.download.nvidia.com/tesla/410.72/NVIDIA-Linux-x86_64-410.72.run
2、 cuda-repo-rhel7-9-0-local-9.0.176-1.x86_64.rpm
下载地址:https://developer.nvidia.com/cuda-90-download-archive
3、 cudnn-9.0-linux-x64-v7.4.1.5.tgz(需下载与上面cuda9.0相对应的版本)
下载地址:https://developer.nvidia.com/rdp/cudnn-download(需先注册账号并登陆)
4、 tensorflow_gpu-1.12.0-cp27-none-linux_x86_64.whl
下载地址:https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.12.0-cp27-none-linux_x86_64.whl
5、 kernel-3.10.0-862.14.4.el7.x86_64.rpm
下载地址:http://ftp.scientificlinux.org/linux/scientific/7.0/x86_64/updates/security/kernel-3.10.0-693.el7.x86_64.rpm
开始安装
yum安装epel、aliyun、elrepo源
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install epel-release
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
安装gcc、gcc-c++编译器
yum –y install gcc
yum -y install gcc-c++
禁用nouveau驱动
1、编辑/etc/default/grub
添加rd.driver.blacklist=nouveau nouveau.modeset=0到GRUB_CMDLINE_LINUX后面
2、grub2-mkconfig -o /boot/grub2/grub.cfg 生成新的grub配置
3、编辑/etc/modprobe.d/blacklist.conf(如果不存在则创建)
添加blacklist nouveau
升级linux内核(若已经是3.10.0-862.14.4.el7.x86_64版本, 则忽略此步骤)
1、切换至root用户根目录,安装新内核
yum -y install kernel-3.10.0-862.14.4.el7.x86_64.rpm
2、重启系统:reboot
3、待系统重启后执行lsmod | grep nouveau,若无输出,则说明nouveau已成功被禁用
4、uname -r检查当前运行内核版本与/usr/src/kernels目录下的kernel源码版本是否一致(若不一致,则后面nvidia驱动不能成功安装)
安装tensorflow_gpu
先安装并更新pip以及numpy, jinja2等依赖库
yum -y install python-pip
pip install --upgrade pip
pip install numpy
pip install jinja2
pip install --upgrade dnspython
pip install --ignore-installed enum34
pip install tensorflow_gpu-1.12.0-cp27-none-linux_x86_64.whl
安装cuda9.0
rpm -i cuda-repo-rhel7-9-0-local-9.0.176-1.x86_64.rpm
yum clean all
yum -y install cuda
cuda默认安装路径:/usr/local/cuda
设置cuda环境变量
vi /etc/profile
添加以下内容到文件末尾
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$CUDA_HOME/extras/CUPTI/lib64:$LD_LIBRARY_PATH
export PATH=$CUDA_HOME/bin:$PATH
安装cudnn依赖库
tar zxvf cudnn-9.0-linux-x64-v7.4.1.5.tgz
cp ./cuda/include/cudnn.h /usr/local/cuda/include
cp ./cuda/lib64/libcudnn.so.7.4.1 /usr/local/cuda/lib64
cp ./cuda/lib64/libcudnn_static.a /usr/local/cuda/lib64
cd /usr/local/cuda/lib64
ln -s libcudnn.so.7.4.1 libcudnn.so.7
ln -s libcudnn.so.7 libcudnn.so
安装完可打开python shell
import tensorflow as tf
若不报错则说明tensorflow和cuda安装成功
安装nvidia驱动
切换至root用户根目录,安装nvidia驱动
./NVIDIA-Linux-x86_64-410.72.run --kernel-source-path=/usr/src/kernels/3.10.0-862.14.4.el7.x86_64 -k $(uname -r)
安装过程第一步选No,其余选Yes或Ok
安装完成后执行nvidia-smi
若输出信息如下图,则说明nvidia驱动成功安装