文档首页 > > 常见问题> 操作系统类>

P1型云服务器如何安装NVIDIA驱动?

P1型云服务器如何安装NVIDIA驱动?

分享
更新时间:2021/01/25 GMT+08:00

前提条件

  • 已绑定弹性公网IP
  • 已根据表1,下载对应操作系统所需驱动的安装包。
表1 NVIDIA驱动下载

需要下载的驱动

安装包名称

下载地址

GPU驱动

NVIDIA-Linux-x86_64-375.66.run

http://www.nvidia.com/download/driverResults.aspx/118955/en-us

CUDA Toolkit

cuda_8.0.61_375.26_linux.run

https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run

操作步骤

  1. 登录P1型弹性云服务器,并执行以下命令,切换至root权限。

    sudo su

  2. 安装NVIDIA驱动的依赖包gcc和g++。

    • 对于Ubuntu 16.04 64bit,执行以下命令:

      sudo apt-get install gcc

      sudo apt-get install g++

      sudo apt-get install make

    • 对于CentOS 7.3,无需执行该操作。
    • 对于Debian 8.0,执行以下命令:

      sudo apt-get install gcc

      sudo apt-get install g++

      sudo apt-get install make

      sudo apt-get install linux-headers-$(uname -r)

  3. (可选)禁用Nouveau驱动。

    如果弹性云服务器安装了Nouveau驱动,为避免安装NVIDIA驱动时发生冲突,需先禁用。

    1. 执行以下命令,查看弹性云服务器是否安装Nouveau驱动。

      lsmod | grep nouveau

      • 是,执行3.b
      • 否,执行4
    2. 将如下语句添加至文件“/etc/modprobe.d/blacklist.conf”的末尾。

      blacklist nouveau

      options nouveau modeset=0

    3. 执行以下命令,备份并新建一个initramfs。

      mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

      update-initramfs -u

    4. 执行以下命令,重启弹性云服务器。

      reboot

  4. (可选)关闭X服务。

    如果弹性云服务器当前为图形化界面,为避免安装NVIDIA驱动时发生冲突,需先关闭X服务。

    1. 执行以下命令,切换至多用户模式。

      systemctl set-default multi-user.target

    2. 执行以下命令,重启弹性云服务器。

      reboot

  5. (可选)安装GPU驱动。

    您可以使用CUDA Toolkit安装包中自带的GPU驱动,或者单独下载配套的GPU驱动版本。如无特殊要求,推荐您安装前提条件中提供的GPU驱动版本“NVIDIA-Linux-x86_64-375.66.run”,该版本已经过充分验证。
    1. 将下载的GPU驱动安装包“NVIDIA-Linux-x86_64-xxx.yy.run”上传到弹性云服务器的“/tmp”目录下。

      其中,驱动下载地址:http://www.nvidia.com/Download/index.aspx?lang=en

      图1 下载GPU驱动
    2. 执行以下命令,安装GPU驱动。

      sh ./NVIDIA-Linux-x86_64-xxx.yy.run

    3. 执行以下命令,删除压缩包。

      rm -f NVIDIA-Linux-x86_64-xxx.yy.run

  6. 安装CUDA Toolkit。

    如无特殊要求,推荐您安装前提条件中提供的CUDA Toolkit版本“cuda_8.0.61_375.26_linux.run”,该版本已经过充分验证。
    1. 将下载的CUDA Toolkit安装包“cuda_a.b.cc_xxx.yy_linux.run”上传到弹性云服务器的“/tmp”目录下。

      其中,CUDA Toolkit下载地址:https://developer.nvidia.com/cuda-downloads

    2. 执行以下命令,修改权限。

      chmod +x cuda_a.b.cc_xxx.yy_linux.run

    3. 执行以下命令,安装CUDA Toolkit。

      ./cuda_a.b.cc_xxx.yy_linux.run -toolkit -samples -silent -override --tmpdir=/tmp/

    4. 执行以下命令,删除压缩包。

      rm -f cuda_a.b.cc_xxx.yy_linux.run

    5. 执行如下三条命令,验证是否安装成功。

      cd /usr/local/cuda/samples/1_Utilities/deviceQueryDrv/

      make

      ./deviceQueryDrv

      回显信息中包含“Result = PASS”,表示CUDA Toolkit和GPU驱动安装成功。

      ./deviceQueryDrv Starting...  
         
       CUDA Device Query (Driver API) statically linked version   
       Detected 1 CUDA Capable device(s)  
         
       Device 0: "Tesla P100-PCIE-16GB"  
         CUDA Driver Version:                           8.0  
         CUDA Capability Major/Minor version number:    6.0  
         Total amount of global memory:                 16276 MBytes (17066885120 bytes)  
         (56) Multiprocessors, ( 64) CUDA Cores/MP:     3584 CUDA Cores  
         GPU Max Clock rate:                            1329 MHz (1.33 GHz)  
         Memory Clock rate:                             715 Mhz  
         Memory Bus Width:                              4096-bit  
         L2 Cache Size:                                 4194304 bytes  
         Max Texture Dimension Sizes                    1D=(131072) 2D=(131072, 65536) 3D=(16384, 16384, 16384)  
         Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layers  
         Maximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layers  
         Total amount of constant memory:               65536 bytes  
         Total amount of shared memory per block:       49152 bytes  
         Total number of registers available per block: 65536  
         Warp size:                                     32  
         Maximum number of threads per multiprocessor:  2048  
         Maximum number of threads per block:           1024  
         Max dimension size of a thread block (x,y,z): (1024, 1024, 64)  
         Max dimension size of a grid size (x,y,z):    (2147483647, 65535, 65535)  
         Texture alignment:                             512 bytes  
         Maximum memory pitch:                          2147483647 bytes  
         Concurrent copy and kernel execution:          Yes with 2 copy engine(s)  
         Run time limit on kernels:                     No  
         Integrated GPU sharing Host Memory:            No  
         Support host page-locked memory mapping:       Yes  
         Concurrent kernel execution:                   Yes  
         Alignment requirement for Surfaces:            Yes  
         Device has ECC support:                        Enabled  
         Device supports Unified Addressing (UVA):      Yes  
         Device PCI Domain ID / Bus ID / location ID:   0 / 0 / 6  
         Compute Mode:  
            < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >  
       Result = PASS 

  1. 登录P1型弹性云服务器,并执行以下命令,切换至root权限。

    sudo su

  2. (可选)执行以下命令,安装gcc、g++和kernel-devel。

    如果已安装gcc、g++和kernel-devel,请跳过本操作。

    yum install gcc

    yum install gcc-c++

    yum install make

    yum install kernel-devel-`uname -r`

  3. (可选)禁用Nouveau驱动。

    如果弹性云服务器安装了Nouveau驱动,为避免安装NVIDIA驱动时发生冲突,需先禁用。

    1. 执行以下命令,查看弹性云服务器是否安装Nouveau驱动。

      lsmod | grep nouveau

      • 是,执行3.b
      • 否,执行4
    2. 将如下语句添加至文件“/etc/modprobe.d/blacklist.conf”的末尾。

      blacklist nouveau

    3. 执行以下命令,备份并新建一个initramfs。

      mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

      dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

    4. 执行以下命令,重启弹性云服务器。

      reboot

  4. (可选)关闭X服务。

    如果弹性云服务器当前为图形化界面,为避免安装NVIDIA驱动时发生冲突,需先关闭X服务。

    1. 执行以下命令,切换至多用户模式。

      systemctl set-default multi-user.target

    2. 执行以下命令,重启弹性云服务器。

      reboot

  5. (可选)安装GPU驱动。

    您可以使用CUDA Toolkit安装包中自带的GPU驱动,或者单独下载配套的GPU驱动版本。如无特殊要求,推荐您安装前提条件中提供的GPU驱动版本“NVIDIA-Linux-x86_64-375.66.run”,该版本已经过充分验证。
    1. 将下载的GPU驱动安装包“NVIDIA-Linux-x86_64-xxx.yy.run”上传到弹性云服务器的“/tmp”目录下。

      其中,驱动下载地址:http://www.nvidia.com/Download/index.aspx?lang=en

      图2 下载GPU驱动安装包
    2. 执行以下命令,安装GPU驱动。

      sh ./NVIDIA-Linux-x86_64-xxx.yy.run

    3. 执行以下命令,删除压缩包。

      rm -f NVIDIA-Linux-x86_64-xxx.yy.run

  6. 安装CUDA Toolkit。

    如无特殊要求,推荐您安装前提条件中提供的CUDA Toolkit版本“cuda_8.0.61_375.26_linux.run”,该版本已经过充分验证。
    1. 将下载的CUDA Toolkit安装包“cuda_a.b.cc_xxx.yy_linux.run”上传到弹性云服务器的“/tmp”目录下。

      其中,CUDA Toolkit下载地址:https://developer.nvidia.com/cuda-downloads

    2. 执行以下命令,修改权限。

      chmod +x cuda_a.b.cc_xxx.yy_linux.run

    3. 执行以下命令,安装CUDA Toolkit。

      ./cuda_a.b.cc_xxx.yy_linux.run -toolkit -samples -silent -override --tmpdir=/tmp/

    4. 执行以下命令,删除压缩包。

      rm -f cuda_a.b.cc_xxx.yy_linux.run

    5. 执行如下三条命令,验证是否安装成功。

      cd /usr/local/cuda/samples/1_Utilities/deviceQueryDrv/

      make

      ./deviceQueryDrv

      回显信息中包含“Result = PASS”,表示CUDA Toolkit和GPU驱动安装成功。

      ./deviceQueryDrv Starting...  
         
       CUDA Device Query (Driver API) statically linked version   
       Detected 1 CUDA Capable device(s)  
         
       Device 0: "Tesla P100-PCIE-16GB"  
         CUDA Driver Version:                           8.0  
         CUDA Capability Major/Minor version number:    6.0  
         Total amount of global memory:                 16276 MBytes (17066885120 bytes)  
         (56) Multiprocessors, ( 64) CUDA Cores/MP:     3584 CUDA Cores  
         GPU Max Clock rate:                            1329 MHz (1.33 GHz)  
         Memory Clock rate:                             715 Mhz  
         Memory Bus Width:                              4096-bit  
         L2 Cache Size:                                 4194304 bytes  
         Max Texture Dimension Sizes                    1D=(131072) 2D=(131072, 65536) 3D=(16384, 16384, 16384)  
         Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layers  
         Maximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layers  
         Total amount of constant memory:               65536 bytes  
         Total amount of shared memory per block:       49152 bytes  
         Total number of registers available per block: 65536  
         Warp size:                                     32  
         Maximum number of threads per multiprocessor:  2048  
         Maximum number of threads per block:           1024  
         Max dimension size of a thread block (x,y,z): (1024, 1024, 64)  
         Max dimension size of a grid size (x,y,z):    (2147483647, 65535, 65535)  
         Texture alignment:                             512 bytes  
         Maximum memory pitch:                          2147483647 bytes  
         Concurrent copy and kernel execution:          Yes with 2 copy engine(s)  
         Run time limit on kernels:                     No  
         Integrated GPU sharing Host Memory:            No  
         Support host page-locked memory mapping:       Yes  
         Concurrent kernel execution:                   Yes  
         Alignment requirement for Surfaces:            Yes  
         Device has ECC support:                        Enabled  
         Device supports Unified Addressing (UVA):      Yes  
         Device PCI Domain ID / Bus ID / location ID:   0 / 0 / 6  
         Compute Mode:  
            < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >  
       Result = PASS 

分享: