盒子
盒子
文章目录
  1. 环境
  2. 显卡驱动
    1. 验证你的系统是否能识别上面的GPU
    2. 验证系统是否是受支持的Linux版本
    3. 验证系统是否有GCC编译环境
    4. 验证系统是否安装了正确的内核头文件和开发包
    5. 禁用nouveau
    6. 下载驱动
    7. 安装驱动
    8. 检验安装
  3. cuda
    1. 下载cuda
    2. 安装cuda
  4. cudnn
    1. 下载cudnn
    2. 安装cudnn

centos7安装p40显卡驱动 + cuda10.0 + cudnn10.0

环境

  • 系统

    CentOS Linux release 7.6.1810 (Core)

  • 内核

    3.10.0-957.5.1.el7.x86_64

  • 显卡

    NVIDIA Tesla P40

  • cuda

    cuda_10.0.130_410.48_linux.run

  • cudnn

    cudnn-10.0-linux-x64-v7.5.0.56.tgz

显卡驱动

验证你的系统是否能识别上面的GPU

lspci | grep -i nvidia

正常应该显示Nvidia显卡的型号,没有任何显示需要更新pci硬件库update-pciids

验证系统是否是受支持的Linux版本

uname -m && cat /etc/*release

到这里查看受支持的Linux版本:http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements

验证系统是否有GCC编译环境

sudo yum install gcc

验证系统是否安装了正确的内核头文件和开发包

sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)

禁用nouveau

nouveau是一个第三方开源的Nvidia驱动,一般Linux安装的时候默认会安装这个驱动。 这个驱动会与Nvidia官方的驱动冲突,在安装Nvidia驱动和和CUDA之前应先禁用nouveau

查看系统是否正在使用nouveau

lsmod | grep nouveau

如果有显示内容,则进行以下的步骤: Centos7禁用方法

#新建一个配置文件
sudo vim /etc/modprobe.d/blacklist.conf

#写入以下内容
blacklist nouveau
options nouveau modeset=0

#保存并退出
:wq

#备份当前的镜像
sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

#建立新的镜像
sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)

#重启
sudo reboot

#最后输入上面的命令验证
lsmod | grep nouveau

总之最后一定要保证lsmod | grep nouveau命令没有任何输出内容。 这也是runfile文件安装方式相对rpm/deb方式麻烦的一点,如果本节禁用nouveau有问题,可以尝试rpm/deb方式安装,rpm/deb方式安装会自动禁用

下载驱动

首先在官网 https://www.nvidia.com/Download/index.aspx?lang=cn 查找自己显卡的驱动

我这里是 NVIDIA Tesla P40 ,因为列表中可支持的最新版本cuda是 10.0 ,所以下载的cuda为 10.0 的版本:NVIDIA-Linux-x86_64-410.104.run

安装驱动

sudo sh NVIDIA-Linux-x86_64-410.104.run --kernel-source-path=/usr/src/kernels/3.10.0-957.5.1.el7.x86_64

这里必须指明 kernel-source-path ,否则安装过程会报错

检验安装

执行

nvidia-smi

如下输出则说明成功

Thu Mar 14 18:40:38 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.104 Driver Version: 410.104 CUDA Version: 10.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla P40 Off | 00000000:3B:00.0 Off | 0 |
| N/A 25C P0 47W / 250W | 0MiB / 22919MiB | 0% Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+

cuda

下载cuda

因为 NVIDIA 官网上,P40的cuda最多支持到10.0版本,驱动下载的也是10.0版本,所以这里下载cuda10.0

各版本下载链接 https://developer.nvidia.com/cuda-toolkit-archive

我这里下载的是 runfile

安装cuda

sudo sh cuda_10.0.130_410.48_linux.run --kernel-source-path=/usr/src/kernels/3.10.0-957.5.1.el7.x86_64

这里必须指明 kernel-source-path ,否则安装过程会报错

#刚开始安装会进入more模式,一直按`空格`即可

#Do you accept the previously read EULA?
#是否接受协议
accept

#Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 387.26?
#是否安装Nvida驱动,不需要
n

#Install the CUDA 10.0 Toolkit?
y

#Enter Toolkit Location
#输入Toolkit的安装目录
#一般默认即可
#如果更改的话,注意是不可以改成 /usr/local/cuda 的,其余都可以
回车

#Do you want to install a symbolic link at /usr/local/cuda?
#创建一个软连接,我选择是
y

#Install the CUDA 10.0 Samples?
#安装CUDA官方示例包
#这里选择 no,因为安装目录下就有
n




#如果版本不同,提示也可能不同,根据情况输入或选择

cudnn

下载cudnn

注意和 cuda 版本匹配

安装cudnn

按照官网命令

https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html

  • Navigate to your cudnnpath directory containing the cuDNN Tar file.

  • Unzip the cuDNN package.

    tar -xzvf cudnn-10.0-linux-x64-v7.5.0.56.tgz
  • Copy the following files into the CUDA Toolkit directory, and change the file permissions.

    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*
支持一下
万一真的就有人扫了呢
  • 微信扫一扫
  • 支付宝扫一扫