全部產品
Search
文件中心

Elastic GPU Service:在GPU計算型執行個體中手動安裝Tesla驅動(Linux)

更新時間:Sep 19, 2024

在深度學習、AI等通用計算業務情境或者OpenGL、Direct3D、雲遊戲等圖形加速情境下,安裝了Tesla驅動的GPU才可以發揮高效能運算能力,或提供更流暢的圖形顯示效果。如果您在建立GPU計算型執行個體(Linux)時未同時安裝Tesla驅動,則需要在建立GPU執行個體後,單獨手動安裝Tesla驅動(Linux)。本文為您介紹如何為Linux系統的GPU計算型執行個體手動安裝Tesla驅動。

說明

如果GPU執行個體為Alibaba Cloud Linux 3作業系統的GPU計算型執行個體,且在建立執行個體時未同步自動安裝Tesla驅動,則您也可以通過YUM方式安裝該驅動,具體操作,請參見通過YUM方式快速安裝NVIDIA Tesla驅動(Alibaba Cloud Linux 3)

操作步驟

說明

本文適用於所有Linux系統的GPU計算型執行個體,更多資訊,請參見GPU計算型(gn系列)。在該執行個體上僅支援安裝與其作業系統一致的Tesla驅動,即Linux系統GPU執行個體支援安裝Tesla驅動(Linux)。

步驟一:下載NVIDIA Tesla驅動

  1. 訪問NVIDIA驅動下載頁面

    說明

    關於安裝和配置NVIDIA驅動程式的更多資訊,請參見NVIDIA Driver Installation Quickstart Guide

  2. 設定搜尋條件後,單擊尋找選擇適用的驅動程式。

    Tesla驅動.jpg

    設定項說明如下所示:

    設定項

    說明

    樣本

    • 產品類別

    • 產品系列

    • 產品家族

    根據執行個體規格配備的GPU選擇對應的產品類別、產品系列和產品家族。

    說明

    關於如何查看GPU執行個體的詳細資料(執行個體ID、執行個體規格以及作業系統等),具體操作,請參見查看執行個體資訊

    • Data Center / Tesla

    • A-Series

    • NVIDIA A10

    作業系統

    根據執行個體使用的鏡像選擇對應的Linux作業系統版本。

    Linux 64-bit

    CUDA工具包版本

    選擇CUDA Toolkit版本。

    11.4

    語言

    選擇驅動對應的語言。

    Chinese (Simplified)

    部分GPU計算型規格的GPU資訊,以及支援的驅動版本和CUDA版本

    資訊項

    gn5

    gn5i

    gn6v

    gn6i

    gn6e

    gn7

    gn7i

    gn7e

    產品類型

    Data Center / Tesla

    Data Center / Tesla

    Data Center / Tesla

    Data Center / Tesla

    Data Center / Tesla

    Data Center / Tesla

    Data Center / Tesla

    Data Center / Tesla

    產品系列

    P-Series

    P-Series

    V-Series

    T-Series

    V-Series

    A-Series

    A-Series

    A-Series

    推薦的Tesla驅動版本

    410.79或更高版本

    450.80.02 或更高版本

    460.73.01 或更高版本

    450.80.02 或更高版本

    推薦的CUDA Toolkit版本

    CUDA Toolkit 10.1 Update 2

    CUDA Toolkit 11.0 Update 1

    CUDA Toolkit 11.2

    CUDA Toolkit 11.0 Update 1

    說明
    • 上表中僅列出部分常用GPU計算型執行個體規格的GPU資訊,具有相同GPU卡的執行個體,對應的GPU資訊(產品類型、產品系列和產品家族)相同。例如,ebmgn7i與gn7i的GPU卡都為NVIDIA A10,所以這兩個執行個體對應的產品類型、產品系列和產品家族相同。

    • 手動安裝Tesla驅動和CUDA包時,必須確保驅動版本和CUDA包版本的相容性。更多資訊,請參見CUDA相容性

  3. 在搜尋到的驅動頁面,單擊展開查看更多版本

  4. 找到待下載的驅動,單擊對應驅動後的查看

    例如,選擇驅動版本為470.161.03、CUDA工具包版本為11.4的Data Center Driver for Linux x64

  5. 在待下載驅動的詳情頁面,按右鍵下載並選擇複製連結地址

    驅動下載.jpg

  6. 遠端連線Linux系統的GPU執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Linux執行個體

  7. 執行以下命令,下載驅動安裝包。

    命令樣本中的驅動下載地址為您在步驟5中擷取的驅動下載連結。

    wget https://us.download.nvidia.com/tesla/470.161.03/NVIDIA-Linux-x86_64-470.161.03.run

步驟二:安裝NVIDIA Tesla驅動

不同作業系統執行個體,安裝Tesla驅動的方法有所不同,具體操作如下所示。

CentOS作業系統

  1. 執行以下命令,查詢GPU執行個體中是否安裝kernel-devel和kernel-headers包。

    sudo rpm  -qa | grep $(uname -r)
    • 如果回顯類似如下資訊,即包含了kernel-devel和kernel-headers包的版本資訊,表示已安裝。

      kernel-3.10.0-1062.18.1.el7.x86_64
      kernel-devel-3.10.0-1062.18.1.el7.x86_64
      kernel-headers-3.10.0-1062.18.1.el7.x86_64
    • 如果在回顯資訊中,您沒有找到kernel-devel-*kernel-headers-*內容,您需要自行下載並安裝kernel對應版本的kernel-develkernel-headers包。

      重要

      kernel-devel和kernel版本不一致會導致在安裝driver rpm過程中driver編譯出錯。因此,請您確認回顯資訊中kernel-*的版本號碼後,再下載對應版本的kernel-devel。在樣本回顯資訊中,kernel的版本號碼為3.10.0-1062.18.1.el7.x86_64。

  2. 授權並安裝Tesla驅動。

    以作業系統是Linux 64-bit的驅動為例,推薦您使用.run形式的Tesla驅動,例如:NVIDIA-Linux-x86_64-xxxx.run。分別執行以下命令,授權並安裝Tesla驅動。

    說明

    如果您使用的是.deb或.rpm等其他形式的Tesla驅動,具體安裝方法,請參見NVIDIA CUDA Installation Guide for Linux

    sudo chmod +x NVIDIA-Linux-x86_64-xxxx.run
    sudo sh NVIDIA-Linux-x86_64-xxxx.run
  3. 執行以下命令,查看Tesla驅動是否安裝成功。

    nvidia-smi

    回顯資訊類似如下所示,表示Tesla驅動安裝成功。

    驅動版本.jpg

  4. (可選)通過NVIDIA Persistence Daemon方式開啟Persistence-M屬性。

    Tesla驅動安裝完成後,Persistence-M預設為關閉(off)狀態,Tesla驅動在開啟Persistence-M屬性狀態下效能更穩定。為了業務更穩定地進行,建議您通過NVIDIA Persistence Daemon方式開啟Persistence-M屬性。更多資訊,請參見Persistence Daemon

    說明
    1. 執行以下命令,運行NVIDIA Persistence Daemon。

      sudo nvidia-persistenced --user username 
      # username為您的使用者名稱。
    2. 執行以下命令,查看Persistence-M屬性狀態。

      nvidia-smi

      回顯資訊類似如下所示,表示Persistence-M為開啟(on)狀態。

      persistence.jpg

  5. (可選)重啟系統後開啟Persistence-M屬性。

    如果系統重啟,則會導致Persistence-M開啟(on)狀態失效,您可以按照以下操作重新開啟Persistence-M屬性。

    通過安裝Tesla驅動安裝包,將NVIDIA提供的安裝指令碼(例如樣本指令碼和安裝程式指令碼)安裝到/usr/share/doc/NVIDIA_GLX-1.0/samples/nvidia-persistenced-init.tar.bz2路徑下。

    1. 執行以下命令,解壓並安裝NVIDIA提供的安裝指令碼。

      cd  /usr/share/doc/NVIDIA_GLX-1.0/samples/
      sudo tar xf nvidia-persistenced-init.tar.bz2
      cd  nvidia-persistenced-init
      sudo sh install.sh
    2. 執行以下命令,查看NVIDIA Persistence Daemon是否正常運行。

      sudo systemctl status nvidia-persistenced

      回顯資訊類似如下所示,表示NVIDIA Persistence Daemon正常運行。

      persistence Daemon.jpg

      說明

      您可以根據您的作業系統適配NVIDIA Persistence Daemon安裝指令碼以保證其正常工作。

    3. 執行以下命令,再次確認Persistence-M屬性為開啟(on)狀態。

      nvidia-smi
    4. (可選)執行以下命令,關閉NVIDIA Persistence Daemon。

      如果目前無需運行NVIDIA Persistence Daemon,您可以選擇關閉NVIDIA Persistence Daemon。

      sudo systemctl stop nvidia-persistenced
      sudo systemctl disable nvidia-persistenced
  6. (條件必選)如果您的GPU執行個體規格類型系列為ebmgn7、ebmgn7e時,安裝與驅動版本對應的nvidia-fabricmanager服務。

    重要
    • GPU執行個體規格類型系列為ebmgn7、ebmgn7e時,如果未安裝與版本驅動對應的nvidia-fabricmanager服務,則您將無法正常使用GPU執行個體。

    • GPU執行個體規格類型系列不是ebmgn7、ebmgn7e時,請跳過本步驟。

    1. 安裝nvidia-fabricmanager服務。

      您可以通過源碼或者安裝包兩種方式安裝nvidia-fabricmanager服務,以下操作以CentOS 7.x和CentOS 8.x作業系統為例,驅動版本(driver_version)以460.91.03為例,命令樣本如下。其中,driver_version替換為步驟一:下載NVIDIA Tesla驅動中下載的驅動版本號碼。

      • 源碼方式

        • CentOS 7.x

          driver_version=460.91.03
          sudo yum -y install yum-utils
          sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
          sudo yum install -y nvidia-fabric-manager-${driver_version}-1
        • CentOS 8.x

          driver_version=460.91.03
          driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}')
          distribution=rhel8
          ARCH=$( /bin/arch )
          sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/$distribution/${ARCH}/cuda-$distribution.repo
          sudo dnf module enable -y nvidia-driver:${driver_version_main}
          sudo dnf install -y nvidia-fabric-manager-0:${driver_version}-1
      • 安裝包方式

        • CentOS 7.x

          driver_version=460.91.03
          sudo wget https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/nvidia-fabric-manager-${driver_version}-1.x86_64.rpm
          sudo rpm -ivh nvidia-fabric-manager-${driver_version}-1.x86_64.rpm
        • CentOS 8.x

          driver_version=460.91.03
          sudo wget https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/nvidia-fabric-manager-${driver_version}-1.x86_64.rpm
          sudo rpm -ivh nvidia-fabric-manager-${driver_version}-1.x86_64.rpm
    2. 執行如下命令,啟動nvidia-fabricmanager服務。

      sudo systemctl enable nvidia-fabricmanager
      sudo systemctl start nvidia-fabricmanager
    3. 執行如下命令,查看nvidia-fabricmanager服務是否安裝成功。

      systemctl status nvidia-fabricmanager

      回顯資訊如下所示,表示nvidia-fabricmanager服務安裝成功。

      Dingtalk_20240910143221.jpg

Ubuntu等其他動作系統

  1. 授權並安裝Tesla驅動。

    以作業系統是Linux 64-bit的驅動為例,推薦您使用.run形式的Tesla驅動,例如:NVIDIA-Linux-x86_64-xxxx.run。分別執行以下命令,授權並安裝Tesla驅動。

    說明

    如果您使用的是.deb或.rpm等其他形式的Tesla驅動,具體安裝方法,請參見NVIDIA CUDA Installation Guide for Linux

    sudo chmod +x NVIDIA-Linux-x86_64-xxxx.run
    sudo sh NVIDIA-Linux-x86_64-xxxx.run
  2. 執行以下命令,查看Tesla驅動是否安裝成功。

    nvidia-smi

    回顯資訊類似如下所示,表示Tesla驅動安裝成功。

    驅動版本.jpg

  3. (可選)通過NVIDIA Persistence Daemon方式開啟Persistence-M屬性。

    Tesla驅動安裝完成後,Persistence-M預設為關閉(off)狀態,Tesla驅動在開啟Persistence-M屬性狀態下效能更穩定。為了業務更穩定地進行,建議您通過NVIDIA Persistence Daemon方式開啟Persistence-M屬性。更多資訊,請參見Persistence Daemon

    說明
    1. 執行以下命令,運行NVIDIA Persistence Daemon。

      sudo nvidia-persistenced --user username 
      # username為您的使用者名稱。
    2. 執行以下命令,查看Persistence-M屬性狀態。

      nvidia-smi

      回顯資訊類似如下所示,表示Persistence-M為開啟(on)狀態。

      persistence.jpg

  4. (可選)重啟系統後開啟Persistence-M屬性。

    如果系統重啟,則會導致Persistence-M開啟(on)狀態失效,您可以按照以下操作重新開啟Persistence-M屬性。

    通過安裝Tesla驅動安裝包,將NVIDIA提供的安裝指令碼(例如樣本指令碼和安裝程式指令碼)安裝到/usr/share/doc/NVIDIA_GLX-1.0/samples/nvidia-persistenced-init.tar.bz2路徑下。

    1. 執行以下命令,解壓並安裝NVIDIA提供的安裝指令碼。

      cd  /usr/share/doc/NVIDIA_GLX-1.0/samples/
      sudo tar xf nvidia-persistenced-init.tar.bz2
      cd  nvidia-persistenced-init
      sudo sh install.sh
    2. 執行以下命令,查看NVIDIA Persistence Daemon是否正常運行。

      sudo systemctl status nvidia-persistenced

      回顯資訊類似如下所示,表示NVIDIA Persistence Daemon正常運行。

      persistence Daemon.jpg

      說明

      您可以根據您的作業系統適配NVIDIA Persistence Daemon安裝指令碼以保證其正常工作。

    3. 執行以下命令,再次確認Persistence-M屬性為開啟(on)狀態。

      nvidia-smi
    4. (可選)執行以下命令,關閉NVIDIA Persistence Daemon。

      如果目前無需運行NVIDIA Persistence Daemon,您可以選擇關閉NVIDIA Persistence Daemon。

      sudo systemctl stop nvidia-persistenced
      sudo systemctl disable nvidia-persistenced
  5. (條件必選)如果您的GPU執行個體規格類型系列為ebmgn7、ebmgn7e時,安裝與驅動版本對應的nvidia-fabricmanager服務。

    重要
    • GPU執行個體規格類型系列為ebmgn7、ebmgn7e時,如果未安裝與版本驅動對應的nvidia-fabricmanager服務,則您將無法正常使用GPU執行個體。

    • GPU執行個體規格類型系列不是ebmgn7、ebmgn7e時,請跳過本步驟。

    1. 安裝nvidia-fabricmanager服務。

      您可以通過源碼或者安裝包兩種方式安裝nvidia-fabricmanager服務,以下操作以Ubuntu 16.04、Ubuntu 18.04、Ubuntu 20.04或Ubuntu 22.04作業系統為例,驅動版本(driver_version)以460.91.03或535.154.05為例,命令樣本如下。其中,driver_version替換為步驟一:下載NVIDIA Tesla驅動中下載的驅動版本號碼。

      重要

      在Ubuntu 22.04作業系統中安裝nvidia-fabricmanager服務時,需要Tesla驅動版本高於515.48.07,針對Ubuntu 22.04作業系統,下述範例程式碼以535.154.05版本的驅動為例。

      • 原始碼方式

        Ubuntu 16.04、Ubuntu 18.04或Ubuntu 20.04

        driver_version=460.91.03
        driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}')
        distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g')
        sudo wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-$distribution.pin
        sudo mv cuda-$distribution.pin /etc/apt/preferences.d/cuda-repository-pin-600
        sudo wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/3bf863cc.pub
        sudo apt-key add 3bf863cc.pub
        sudo rm 3bf863cc.pub
        sudo echo "deb https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" | tee /etc/apt/sources.list.d/cuda.list
        sudo apt-get update
        sudo apt-get -y install nvidia-fabricmanager-${driver_version_main}=${driver_version}-*

        Ubuntu 22.04

        driver_version=535.154.05
        driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}')
        distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g')
        sudo wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-$distribution.pin
        sudo mv cuda-$distribution.pin /etc/apt/preferences.d/cuda-repository-pin-600
        sudo wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/3bf863cc.pub
        sudo apt-key add 3bf863cc.pub
        sudo rm 3bf863cc.pub
        sudo echo "deb https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" | tee /etc/apt/sources.list.d/cuda.list
        sudo apt-get update
        sudo apt-get -y install nvidia-fabricmanager-${driver_version_main}=${driver_version}-*
      • 安裝包方式

        • Ubuntu 16.04

          driver_version=460.91.03
          driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}')
          sudo wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
          sudo dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
        • Ubuntu 18.04

          driver_version=460.91.03
          driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}')
          sudo wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
          sudo dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
        • Ubuntu 20.04

          driver_version=460.91.03
          driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}')
          sudo wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
          sudo dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
        • Ubuntu 22.04

          driver_version=535.154.05 
          driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}')
          sudo wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
          sudo dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
    2. 執行如下命令,啟動nvidia-fabricmanager服務。

      sudo systemctl enable nvidia-fabricmanager
      sudo systemctl start nvidia-fabricmanager
    3. 執行如下命令,查看nvidia-fabricmanager服務是否安裝成功。

      systemctl status nvidia-fabricmanager

      回顯資訊如下所示,表示nvidia-fabricmanager服務安裝成功。

      image.png

      說明

      nvidia-fabricmanager軟體包版本必須與Tesla驅動版本一致,才能保障GPU的正常使用。在Ubuntu系統下,如果您採用安裝包方式安裝nvidia-fabricmanager服務,則apt-daily服務可能會自動更新nvidia-fabricmanager安裝包,使得nvidia-fabricmanager軟體包版本與Tesla驅動版本不一致,從而導致nvidia-fabricmanager服務啟動失敗,並且GPU無法正常使用。如何解決該問題,請參見nvidia-fabricmanager版本與Tesla驅動版本不一致導致GPU無法正常使用

相關文檔

  • 如果您購買了Windows系統的GPU計算型執行個體,則只能單獨安裝Tesla驅動來更好地應用於深度學習、AI等通用計算業務情境。具體操作,請參見在GPU計算型執行個體中手動安裝Tesla驅動(Windows)

  • 如果您需要在建立GPU執行個體時同時安裝了Tesla驅動,具體操作,請參見建立GPU執行個體時自動安裝或載入Tesla驅動

  • 如果當前Tesla驅動因某種原因需要您卸載,具體操作,請參見卸載Tesla驅動

  • 如果GPU執行個體中安裝的驅動版本不適用於當前情境,或您安裝了錯誤的驅動類型或版本導致GPU執行個體無法使用,您可以卸載當前驅動然後安裝新的驅動或直接升級驅動。關於如何升級驅動的具體操作,請參見升級NVIDIA驅動