# 手动安装GPU加速型ECS的Tesla驱动
#### 操作场景
GPU加速型云服务器，需要安装Tesla驱动和CUDA工具包以实现计算加速功能。
- 使用公共镜像创建GPU加速型云服务器时，支持选择已包含特定版本GPU驱动的公共镜像或通过勾选"自动安装GPU驱动"的方式为云服务器安装GPU驱动。 若创建时未安装GPU驱动，则可参考本节操作完成Tesla驱动和CUDA工具包的安装。
  
- 使用私有镜像创建的GPU加速型云服务器，需在创建完成后安装Tesla驱动和CUDA工具包，否则无法实现计算加速功能。
![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/note_3.0-zh-cn.png)
当前部分实例规格以及公共镜像已支持使用自动化脚本安装GPU驱动，建议优先使用自动安装方式，脚本获取以及安装指导请参考[（推荐）自动安装GPU加速型ECS的GPU驱动（Linux）](https://support.huaweicloud.com/usermanual-ecs/ecs_03_0199.html)和[（推荐）自动安装GPU加速型ECS的GPU驱动（Windows）](https://support.huaweicloud.com/usermanual-ecs/ecs_03_0222.html)。
本节操作介绍手动方式为GPU加速型云服务器安装Tesla驱动及CUDA工具包的操作步骤。
#### 约束与限制
- 仅支持为GPU加速型实例安装GPU驱动，GPU加速型的介绍和应用场景请参见[GPU加速型](https://support.huaweicloud.com/productdesc-ecs/ecs_01_0045.html)。
- 云服务器需绑定弹性公网IP。
- 云服务器未安装Tesla驱动以及CUDA工具包。
  ![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/note_3.0-zh-cn.png)
  - 从NVIDIA官网下载CUDA工具包进行安装，通常会同时自动安装一个和CUDA版本匹配的Tesla驱动，免去用户单独安装Tesla驱动的步骤。但是对NVIDIA驱动版本有强制要求或依赖时，请务必先单独从NVIDIA官网下载并安装匹配的Tesla驱动，然后再安装CUDA工具包。
  
  - 如果云服务器已经安装了Tesla驱动，请检查当前驱动版本是否可用。如需安装新版本的驱动请卸载旧版本的Tesla驱动，避免因驱动程序冲突导致安装失败。
  
  - 如果NVIDIA驱动版本与云服务器不兼容，会导致安装完成后驱动不显示，请参考[T4 GPU设备显示异常](https://support.huaweicloud.com/trouble-ecs/ecs_trouble_1204.html)进行处理。
    
- 云服务器的实例类型和Tesla驱动产品类型需匹配，对应关系如[表1]所示。
   表1Tesla驱动产品类型对应关系 
  | **实例类型** | **产品类型（Product Type）** | **产品系列（Product Series）** | **产品（Product）** |
  |:---|:---|:---|:---|
  | P2vs       | Tesla                   | V-Series                   | V100          |
  | P2s        | Tesla                    | V-Series                      | V100            |
  | P2v        | Tesla                    | V-Series                   | V100           |
  | P1         | Tesla                  | P-Series                   | P100             |
  | Pi2         | Tesla                  | T- Series                 | T4             |
  | Pi1        | Tesla                    | P-Series                  | P4              |
  | G6         | Tesla                    | T- Series                    | T4              |
  | G5         | Tesla                    | V-Series                  | V100             |
     
  
 
 #### 获取Telsa驱动及CUDA工具包
![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/note_3.0-zh-cn.png)
Telsa驱动版本与CUDA Toolkit版本存在对应关系，如二者版本不匹配，可能导致驱动无法使用。
版本对应关系，请参见[NVIDIA驱动下载](https://www.nvidia.com/Download/index.aspx?lang=en-us)。
下面以Tesla T4下载驱动软件包及CUDA Toolkit为例进行介绍。
1. 单击[NVIDIA驱动下载](https://www.nvidia.com/Download/index.aspx?lang=en-us)，根据实例的类型，选择NVIDIA产品类型、产品系列和产品。
2. 选择Linux操作系统，并指定CUDA Toolkit软件版本为11.6。
   图1指定CUDA Toolkit软件版本   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002606464997.png "点击放大") 
3. 选择对应的版本，下载CUDA软件包。
 
#### Linux操作系统云服务器安装Tesla驱动和CUDA工具包
以下操作以Ubuntu 20.04 64bit操作系统，GPU实例安装CUDA 10.1对应的Tesla驱动以及使用run包安装CUDA 10.1为例进行介绍。
![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/note_3.0-zh-cn.png)
Linux内核版本和驱动的版本存在兼容性关系。如果驱动安装失败，请检查驱动安装日志(安装日志通常位于/var/log/nvidia-installer.log)。 日志中如提示失败原因为驱动编译错误，例如 get_user_pages参数不匹配，说明当前内核版本与驱动版本不兼容，请选择合适的内核版本和驱动版本重新安装。建议内核版本与驱动版本发布时间不要相差过大。
**安装Tesla驱动**
1. 登录云服务器。
2. 根据操作系统选择命令更新系统软件。
   - Ubuntu 更新软件安装源：**apt-get -y update**
     安装必要程序：**apt-get install gcc g++ make**
     
   
   - CentOS 更新软件安装源：**yum -y update --exclude=kernel\* --exclude=centos-release\* --exclude=initscripts\***
     安装必要程序：**yum install -y kernel-devel-\`uname -r\` gcc gcc-c++**
     
    
3. 下载NVIDIA驱动包。 单击[NVIDIA驱动下载](https://www.nvidia.com/Download/index.aspx?lang=en-us)根据实例的类型，选择驱动。
   图2选择NVIDIA驱动   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002114600494.png "点击放大") 
4. 根据需求选择驱动版本，以下操作以选择Tesla 418.67为例。
   图3选择驱动版本   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002150126353.png "点击放大") 
5. 单击需要下载的驱动右侧的"View"，进入对应下载界面。
6. 右键单击"Download"，复制下载的链接地址。
7. 在云服务器内部执行如下命令进行下载。 **wget {*nvidia驱动下载url*}**
   例如：**wget http://us.download.nvidia.com/tesla/418.67/NVIDIA-Linux-x86_64-418.67.run**
   图4获取安装包   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0234355299.png "点击放大")
   ![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/note_3.0-zh-cn.png)
   您可以执行**wget {*nvidia驱动下载url*}**，下载NVIDIA驱动。
   如果命令执行后，提示报错信息"403：Forbidden"，建议您使用如下命令进行下载：
   **wget -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" --referer="https://www.nvidia.com/" {** ***nvidia驱动下载url*** **}**
   
8. 执行以下命令安装驱动。 **sh NVIDIA-Linux-x86_64-418.67.run**
   
9. （可选）如果执行驱动安装命令后出现如下提示信息，需要禁用nouveau驱动。
   图5禁用nouveau驱动   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0250287387.png "点击放大")
   1. 执行以下命令，查看是否安装Nouveau驱动。 **lsmod \| grep nouveau**
      - 如果回显信息中包含Nouveau驱动信息，说明Nouveau驱动已安装，则需要禁用Nouveau驱动，请执行步骤[9.b]。
      
      - 如果回显信息没有Nouveau驱动信息，说明Nouveau驱动已被禁用，请执行步骤[10]。
       
   
   2. 执行如下命令编辑blacklist.conf文件。
      如果没有"/etc/modprobe.d/blacklist.conf"文件，请新建一个。
      **vi /etc/modprobe.d/blacklist.conf**
      添加如下语句添加至文件结尾。
      ```
      blacklist nouveau
      options nouveau modeset=0
      ```
      
   
   
   
   3. 执行以下命令，备份并新建一个initramfs。
      - Ubuntu系统： **sudo update-initramfs -u**
        
      
      - CentOS系统： **mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak**
        **dracut -v /boot/initramfs-$(uname -r).img $(uname -r)**
        
       
   
   
   
   4. 执行以下命令，重启云服务器。 **reboot**
      
    
10. 根据安装提示，连续三次选择"OK"。完成驱动的安装。
    图6NVIDIA驱动安装完成   
    ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0250287611.png "点击放大") 
11. 执行命令设置systemd。 **systemctl set-default multi-user.target**
    
12. 执行**reboot**，重启云服务器。
13. 登录云服务器，执行**nvidia-smi** ，如果回显信息中包含了已安装的驱动版本，说明驱动安装成功。
    图7查看NVIDIA驱动的版本   
    ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0234355305.png "点击放大") 
**安装CUDA工具包**
1. 登录云服务器。
2. 根据操作系统选择命令更新系统软件。
   - Ubuntu 更新软件安装源：**apt-get -y update**
     安装必要程序：**apt-get install gcc g++ make**
     
   
   - CentOS 更新软件安装源：**yum -y update --exclude=kernel\* --exclude=centos-release\* --exclude=initscripts\***
     安装必要程序：**yum install -y kernel-devel-\`uname -r\` gcc gcc-c++**
     
    
3. 在CUDA下载页面中，按照[获取Telsa驱动及CUDA工具包]中的对应的索引项在页面中进行选择。
   图8选择CUDA的版本   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002606704981.png "点击放大") 
4. 选择完成后，页面会自动呈现出Ubuntu 20.04 64bit对应的CUDA 10.1的下载地址，复制下载地址。

5. 在云服务器内部执行如下命令进行下载。 **wget 复制的链接地址**
   例如：**wget https://developer.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.105_418.39_linux.run**
   图9Linux云服务器下载CUDA   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002575984996.png "点击放大") 

6. CUDA工具包下载完成后，按照NVIDIA官网安装指引进行安装。 按照NVIDIA官网的Installation Instructions进行安装。
   
7. 执行以下命令安装CUDA。 **sh cuda_10.1.243_418.87.00_linux.run**
   
8. 在安装界面输入"accept"，回车进入下一步。
   图10安装CUDA_1   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002606704983.png "点击放大") 
9. 选择"Install"，回车进入安装过程。
   图11安装CUDA_2   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002576264970.png "点击放大")
   图12安装CUDA完成   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002575984998.png "点击放大") 
10. （可选）检查CUDA是否安装成功。
    如果您安装的CUDA版本为11.5及以前，可参考如下操作查看CUDA是否安装成功。如果CUDA版本为11.6及以后，可跳过该步骤。
    1. 执行以下命令进入/usr/local/cuda-10.1/samples/1_Utilities/deviceQuery 目录下。 **cd /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery**
       
    
    2. 执行**make**命令，自动编译deviceQuery程序。
    
    3. 执行以下命令查看CUDA是否安装成功。 **./deviceQuery**
       如回显信息中有CUDA的版本信息证明CUDA安装成功。
       图13deviceQuery回显信息   
       ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002606465001.png "点击放大") 
      
11. 执行以下命令查看CUDA的版本。 **/usr/local/cuda/bin/nvcc -V**
    图14查看CUDA的版本   
    ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002606704985.png "点击放大") 
12. 执行以下命令启动持久模式。 **sudo nvidia-smi -pm 1**
    启用持久模式设置可以优化Linux实例上GPU设备的性能。
    
 
#### Windows操作系统云服务器安装Tesla驱动和CUDA工具包
以下操作以Windows Server 2016 Standard 64bit操作系统，GPU实例安装Tesla驱动以及CUDA 10.1为例进行介绍。
**安装Tesla驱动**
1. 登录云服务器。
2. 下载NVIDIA驱动包。 单击[NVIDIA驱动下载](https://www.nvidia.com/Download/index.aspx?lang=en-us)根据实例的类型，选择驱动版本。
   图15选择驱动类型（Windows）   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002114450902.png "点击放大") 
3. 根据需求选择驱动版本，本节操作以安装Tesla 425.25为例。
   图16选择驱动版本（Windows）   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002114454596.png "点击放大") 
4. 单击需要下载的驱动，进入对应下载界面。
5. 单击"Download"，下载安装包。
6. 双击驱动安装驱动，单击"运行"。
   图17运行NVIDIA驱动安装程序   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0234357053.png "点击放大") 
7. 选择安装路径，单击"OK"。
   图18选择NVIDIA驱动安装路径   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0234357336.png "点击放大") 
8. 根据安装提示完成NVIDIA程序的安装。
   图19完成NVIDIA驱动的安装   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0234357355.png "点击放大") 
9. 重启云服务器。
10. 检查驱动是否安装成功。
    1. 进入"设备管理器"，查看"显示适配器"。
       图20显示适配器   
       ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0234357385.png "点击放大") 
    
    
    
    2. 打开云服务器cmd窗口，执行以下命令： **cd C:\\Program Files\\NVIDIA Corporation\\NVSMI**
       **nvidia-smi**
       如果回显信息中包含了已安装的驱动版本，说明驱动安装成功。
       图21查看NVIDIA驱动安装版本   
       ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0234357365.png "点击放大") 
     
**安装CUDA工具包**
1. 登录云服务器。
2. 在CUDA下载页面中，按照[获取Telsa驱动及CUDA工具包]中的对应的索引项在页面中进行选择。
   图22选择CUDA版本   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002576264972.png "点击放大") 
3. 选择完成后，页面会自动呈现出Windows Server 2016 Standard 64bit对应的CUDA 10.1的下载地址。
   图23Windows云服务器下载CUDA   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002575985000.png "点击放大") 
4. 单击"Download"下载CUDA工具包。
5. 双击打开安装文件，单击"运行"安装CUDA工具包。
   图24Windows云服务器安装CUDA   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002606465003.png) 
6. 选择安装地址，在"CUDA Setup Package"界面，单击"OK"
   图25选择CUDA安装路径   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002606704987.png "点击放大") 
7. 根据安装提示完成CUDA的安装。
   图26CUDA安装完成   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002576264974.png "点击放大") 

8. 检查CUDA是否安装成功。 打开cmd命令窗口，执行以下命令。
   **nvcc -V**
   如果回显信息中出现CUDA的版本信息，说明CUDA安装成功。
   图27CUDA安装成功   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002575985002.png) 
 
#### 相关文档
- [（推荐）自动安装GPU加速型ECS的GPU驱动（Linux）](https://support.huaweicloud.com/usermanual-ecs/ecs_03_0199.html)
- 完成Tesla驱动安装后，如果执行nvidia-smi命令检查GPU使用情况时，显示"No devices were found"，表明系统未能识别NVIDIA显卡。对于使用NVIDIA Tesla T4 GPU的云服务器，请参考[T4 GPU设备显示异常](https://support.huaweicloud.com/trouble-ecs/ecs_trouble_1204.html)的处理方法；使用其他驱动的GPU云服务器，请参考[GPU设备显示异常](https://support.huaweicloud.com/trouble-ecs/ecs_trouble_1203.html)的处理方法。
- [在Linux操作系统的GPU加速型实例中，GPU驱动不可用怎么办？](https://support.huaweicloud.com/trouble-ecs/ecs_trouble_1202.html)
- [在Linux操作系统的GPU加速型实例中，GPU驱动异常怎么办？](https://support.huaweicloud.com/trouble-ecs/ecs_trouble_1201.html)
- [在Windows系统的G系列弹性云服务器中，无法打开NVIDIA 控制面板，GPU驱动无法使用或GPU驱动显示异常时怎么办？](https://support.huaweicloud.com/trouble-ecs/ecs_trouble_0109.html)
 
