建立具有一或多個 GPU 的虛擬機器 (VM) 執行個體之後,系統需有 NVIDIA 裝置驅動程式,應用程式才能存取該裝置。請確認虛擬機器 (VM) 執行個體有足夠的可用磁碟空間。建立新的 VM 時,請為開機磁碟選擇至少 40 GB 的空間。
如要安裝驅動程式,您可以選擇下列兩種方式:
如果您需要 GPU 來執行硬體加速 3D 圖形 (例如遠端桌面或遊戲),請參閱「安裝 NVIDIA RTX 虛擬工作站 (vWS) 的驅動程式」。
如要安裝其他工作負載的 NVIDIA 驅動程式,請按照本文中的操作說明進行。
NVIDIA 驅動程式、CUDA Toolkit 和 CUDA 執行階段版本
在您的環境中,可能需要不同版本的驅動程式和執行階段元件。其中包括下列元件:
- NVIDIA 驅動程式
- CUDA 工具包
- CUDA 執行階段
安裝這些元件時,您可以根據需求設定環境。舉例來說,如果您有較舊版本的 Tensorflow,且該版本與較舊版本的 CUDA 工具包相容,但您要使用的 GPU 需要較新版本的 NVIDIA 驅動程式,則可以安裝較舊版本的 CUDA 工具包,以及較新版本的 NVIDIA 驅動程式。
不過,您必須確認 NVIDIA 驅動程式和 CUDA Toolkit 版本相容。如需 CUDA 工具包和 NVIDIA 驅動程式相容性資訊,請參閱 NVIDIA 的 CUDA 相容性說明文件。
必要的 NVIDIA 驅動程式版本
在 Compute Engine 上執行的 NVIDIA GPU 建議使用下列 NVIDIA 驅動程式版本。
機器系列 | NVIDIA GPU 型號 | Linux 建議的驅動程式 | Windows 建議的驅動程式 |
---|---|---|---|
A4 | B200 | 570.124.06 | 不適用 |
A3 | H200、H100 | 550.90.07 | 不適用 |
G2 | L4 | 550.90.07 | 538.67 |
A2 | A100 | 550.90.07 | 538.67 |
N1 | T4、P4、P100 和 V100 | 535.183.01 | 538.67 |
使用 NVIDIA 指南在 VM 上安裝 GPU 驅動程式
在大多數 VM 上安裝 NVIDIA 驅動程式的方法之一,就是安裝 NVIDIA CUDA Toolkit。
如要安裝 NVIDIA 工具包,請完成下列步驟:
選取支援您所需最低驅動程式的 CUDA Toolkit。
在 VM 上,下載並安裝 CUDA 工具包。下表列出安裝套件和指南,說明建議的最低工具包。安裝工具包前,請務必完成安裝指南中的預安裝步驟。
機器系列 NVIDIA GPU 型號 Linux 建議的 CUDA Toolkit Windows 建議的 CUDA Toolkit A4 B200 - 下載連結:CUDA Toolkit 12.8 Update 1
- 安裝指南:CUDA 12.8 安裝指南
不適用 A3 H200、H100 - 下載連結:CUDA Toolkit 12.4 Update 1
- 安裝指南:CUDA 12.4 安裝指南
不適用 G2 L4 - 下載連結:CUDA Toolkit 12.4 Update 1
- 安裝指南:CUDA 12.4 安裝指南
- 下載連結:CUDA Toolkit 12.2 Update 2
- 安裝指南:CUDA 12.2 安裝指南
A2 A100 N1 - T4
- V100
- P100
- P4
- 下載連結:CUDA Toolkit 12.2
- 安裝指南:CUDA 12.2 安裝指南
- 下載連結:CUDA Toolkit 12.2
- 安裝指南:CUDA 12.2 安裝指南
使用安裝指令碼在 VM 上安裝 GPU 驅動程式
您可以使用下列指令碼自動執行安裝程序。如要查看這些指令碼,請參閱 GitHub 存放區。
Linux
請按照下列操作說明,在執行中的 VM 上安裝 GPU 驅動程式。
支援的作業系統
我們已在下列作業系統上測試 Linux 安裝指令碼:
- Debian 11 和 12
- Red Hat Enterprise Linux (RHEL) 8 和 9
- Rocky Linux 8 和 9
- Ubuntu 20、22 和 24
如果您在其他作業系統上使用這個指令碼,安裝作業可能會失敗。這個指令碼可安裝 NVIDIA 驅動程式和 CUDA Toolkit。如要安裝 GPU 驅動程式和 CUDA Toolkit,請完成下列步驟:
如果您在 VM 上使用 2.38.0 以上版本的 Ops Agent 收集 GPU 指標,請務必先停止代理程式,再使用這個安裝指令碼安裝或升級 GPU 驅動程式。
安裝或升級 GPU 驅動程式後,請務必重新啟動 VM。
如要停止 Ops Agent,請執行下列指令:
sudo systemctl stop google-cloud-ops-agent
確認作業系統已安裝 Python 3。
下載安裝指令碼。
curl -L https://storage.googleapis.com/compute-gpu-installation-us/installer/latest/cuda_installer.pyz --output cuda_installer.pyz
執行安裝指令碼。
sudo python3 cuda_installer.pyz install_driver
指令碼需要一段時間才能執行。這會重新啟動您的 VM。如果 VM 重新啟動,請再次執行指令碼,繼續安裝作業。
驗證安裝作業。請參閱「驗證 GPU 驅動程式安裝」一文。
您也可以使用這項工具安裝 CUDA Toolkit。如要安裝 CUDA Toolkit,請執行下列指令:
sudo python3 cuda_installer.pyz install_cuda
執行此指令碼可能需要至少 30 分鐘的時間。這會重新啟動您的 VM。如果虛擬機器重新啟動,請再次執行指令碼,繼續安裝程序。
確認 CUDA 工具包安裝作業。
sudo python3 cuda_installer.pyz verify_cuda
Linux (開機指令碼)
請按照下列操作說明,在 VM 啟動時安裝 GPU 驅動程式。
支援的作業系統
我們已在下列作業系統上測試 Linux 安裝指令碼:
- Debian 11 和 12
- Red Hat Enterprise Linux (RHEL) 8 和 9
- Rocky Linux 8 和 9
- Ubuntu 20、22 和 24
如果您在其他作業系統上使用這個指令碼,安裝作業可能會失敗。這個指令碼可安裝 NVIDIA 驅動程式和 CUDA Toolkit。
使用下列啟動指令碼自動安裝驅動程式和 CUDA Toolkit:
Windows
這個安裝指令碼可用於已啟用安全啟動的 VM。
- 對於使用 G2 機器系列的 Windows VM,這個指令碼只會安裝 NVIDIA 驅動程式。
- 對於其他機器類型,指令碼會安裝 NVIDIA 驅動程式和 CUDA 工具包。
以系統管理員身分開啟 PowerShell 終端機,然後完成下列步驟:
如果您使用的是 Windows Server 2016,請將傳輸層安全標準 (TLS) 版本設為 1.2。
[Net.ServicePointManager]::SecurityProtocol = 'Tls12'
下載指令碼。
Invoke-WebRequest https://github.com/GoogleCloudPlatform/compute-gpu-installation/raw/main/windows/install_gpu_driver.ps1 -OutFile C:\install_gpu_driver.ps1
執行指令碼。
C:\install_gpu_driver.ps1
指令碼需要一段時間才能執行。安裝過程中不會顯示任何指令提示。指令碼退出後,系統就會安裝驅動程式。
這段指令碼會在 VM 的以下預設位置安裝驅動程式:
C:\Program Files\NVIDIA Corporation\
。驗證安裝作業。請參閱「驗證 GPU 驅動程式安裝」一文。
安裝 GPU 驅動程式 (安全啟動 VM)
本操作說明適用於在使用安全啟動功能的 Linux VM 上安裝 GPU 驅動程式。
如果您使用的是 Windows VM 或未使用安全啟動的 Linux VM,請改為查看下列任一操作說明:
在 Linux VM 上安裝驅動程式的方式與在安全啟動 VM 上安裝的方式不同,因為這些 VM 要求所有核心模組都必須由系統信任的金鑰簽署。
這些操作說明僅適用於在 Ubuntu 18.04、20.04 和 22.04 作業系統上執行的安全啟動 Linux VM。我們正在開發更多 Linux 作業系統的支援功能。
如要在使用安全啟動的 Ubuntu VM 上安裝 GPU 驅動程式,請完成下列步驟:
更新存放區。
sudo apt-get update
搜尋最新的 NVIDIA 核心模組套件或所需版本。這個套件包含由 Ubuntu 金鑰簽署的 NVIDIA 核心模組。如要查看舊版,請變更尾端參數的數字,以便取得舊版。例如,指定
tail -n 2
。Ubuntu PRO 和 LTS
如為 Ubuntu PRO 和 LTS,請執行下列指令:
NVIDIA_DRIVER_VERSION=$(sudo apt-cache search 'linux-modules-nvidia-[0-9]+-gcp$' | awk '{print $1}' | sort | tail -n 1 | head -n 1 | awk -F"-" '{print $4}')
Ubuntu PRO FIPS
如為 Ubuntu PRO FIPS,請執行下列指令:
啟用 Ubuntu FIPS 更新。
sudo ua enable fips-updates
關機和重新啟動
sudo shutdown -r now
取得最新套件。
NVIDIA_DRIVER_VERSION=$(sudo apt-cache search 'linux-modules-nvidia-[0-9]+-gcp-fips$' | awk '{print $1}' | sort | tail -n 1 | head -n 1 | awk -F"-" '{print $4}')
您可以執行
echo $NVIDIA_DRIVER_VERSION
來檢查所選的驅動程式版本。輸出內容為版本字串,例如455
。安裝核心模組套件和對應的 NVIDIA 驅動程式。
sudo apt install linux-modules-nvidia-${NVIDIA_DRIVER_VERSION}-gcp nvidia-driver-${NVIDIA_DRIVER_VERSION}
如果指令在
package not found error
中失敗,則儲存庫可能缺少最新的 NVIDIA 驅動程式。重試上一個步驟,並透過變更尾碼選取較舊的驅動程式版本。確認 NVIDIA 驅動程式是否已安裝。您可能需要重新啟動 VM。
如果你重新啟動系統來驗證 NVIDIA 版本,重新啟動後,您必須重新執行步驟 3 中使用的指令,藉此重設
NVIDIA_DRIVER_VERSION
變數。設定 APT 以使用 NVIDIA 套件存放區。
如要協助 APT 挑選正確的依附元件,請按照下列方式釘選存放區:
sudo tee /etc/apt/preferences.d/cuda-repository-pin-600 > /dev/null <<EOL Package: nsight-compute Pin: origin *ubuntu.com* Pin-Priority: -1
Package: nsight-systems Pin: origin *ubuntu.com* Pin-Priority: -1
Package: nvidia-modprobe Pin: release l=NVIDIA CUDA Pin-Priority: 600
Package: nvidia-settings Pin: release l=NVIDIA CUDA Pin-Priority: 600
Package: * Pin: release l=NVIDIA CUDA Pin-Priority: 100 EOL安裝
software-properties-common
。如果您使用 Ubuntu 最低版本映像檔,則必須執行這項操作。sudo apt install software-properties-common
設定 Ubuntu 版本。
Ubuntu 18.04
如為 Ubuntu 18.04,請執行下列指令:
export UBUNTU_VERSION=ubuntu1804/x86_64
Ubuntu 20.04
如為 Ubuntu 20.04,請執行下列指令:
export UBUNTU_VERSION=ubuntu2004/x86_64
Ubuntu 22.04
如為 Ubuntu 22.04,請執行下列指令:
export UBUNTU_VERSION=ubuntu2204/x86_64
下載
cuda-keyring
套件。wget https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/cuda-keyring_1.0-1_all.deb
安裝
cuda-keyring
套件。sudo dpkg -i cuda-keyring_1.0-1_all.deb
新增 NVIDIA 存放區。
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/ /"
畫面出現提示時,請選取預設動作,繼續使用目前的版本。
找出相容的 CUDA 驅動程式版本。
以下指令碼會判斷與我們剛安裝的 NVIDIA 驅動程式相容的最新 CUDA 驅動程式版本:
CUDA_DRIVER_VERSION=$(apt-cache madison cuda-drivers | awk '{print $3}' | sort -r | while read line; do if dpkg --compare-versions $(dpkg-query -f='${Version}\n' -W nvidia-driver-${NVIDIA_DRIVER_VERSION}) ge $line ; then echo "$line" break fi done)
您可以執行
echo $CUDA_DRIVER_VERSION
來檢查 CUDA 驅動程式版本。輸出內容為版本字串,例如455.32.00-1
。安裝 CUDA 驅動程式,並使用上一個步驟中找出的版本。
sudo apt install cuda-drivers-${NVIDIA_DRIVER_VERSION}=${CUDA_DRIVER_VERSION} cuda-drivers=${CUDA_DRIVER_VERSION}
選用:保留
dkms
套件。啟用安全啟動後,所有核心模組都必須經過簽署才能載入。由
dkms
建構的核心模組無法在 VM 上運作,因為這些模組預設未正確簽署。這是可選步驟,但可避免您日後誤安裝其他dkms
套件。如要保留
dkms
套件,請執行下列指令:sudo apt-get remove dkms && sudo apt-mark hold dkms
安裝 CUDA 工具包和執行階段。
選擇合適的 CUDA 版本。以下指令碼會判斷與我們剛安裝的 CUDA 驅動程式相容的最新 CUDA 版本:
CUDA_VERSION=$(apt-cache showpkg cuda-drivers | grep -o 'cuda-runtime-[0-9][0-9]-[0-9],cuda-drivers [0-9\\.]*' | while read line; do if dpkg --compare-versions ${CUDA_DRIVER_VERSION} ge $(echo $line | grep -Eo '[[:digit:]]+\.[[:digit:]]+') ; then echo $(echo $line | grep -Eo '[[:digit:]]+-[[:digit:]]') break fi done)
您可以執行
echo $CUDA_VERSION
來查看 CUDA 版本。輸出內容為版本字串,例如11-1
。安裝 CUDA 套件。
sudo apt install cuda-${CUDA_VERSION}
確認 CUDA 安裝作業。
sudo nvidia-smi
/usr/local/cuda/bin/nvcc --version
第一個指令會列印 GPU 資訊。第二個指令會列印已安裝的 CUDA 編譯器版本。
確認 GPU 驅動程式安裝作業
完成驅動程式安裝步驟後,請確認驅動程式已正確安裝並初始化。
Linux
連線至 Linux 執行個體,然後使用 nvidia-smi
指令確認驅動程式正常執行。
sudo nvidia-smi
輸出結果會與下列內容相似:
Tue Mar 21 19:50:15 2023 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 550.90.07 Driver Version: 550.90.07 CUDA Version: 12.4 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 Tesla T4 On | 00000000:00:04.0 Off | 0 | | N/A 50C P8 16W / 70W | 1MiB / 15360MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+
如果這項指令失敗,請檢查下列項目:
檢查 VM 是否已連接 GPU。如要檢查是否有任何 NVIDIA PCI 裝置,請執行下列指令:
sudo lspci | grep -i "nvidia"
確認驅動程式核心版本和 VM 核心版本相同。
如要檢查 VM 核心版本,請執行下列指令:
uname -r
如要檢查驅動程式核心版本,請執行下列指令:
sudo apt-cache show linux-modules-nvidia-NVIDIA_DRIVER_VERSION-gcp
如果版本不相符,請重新啟動 VM 至新版核心。
Windows Server
連線至 Windows Server 執行個體,然後開啟 PowerShell 終端機,接著執行下列指令,確認驅動程式是否正常執行。
nvidia-smi
輸出結果會與下列內容相似:
+---------------------------------------------------------------------------------------+ | NVIDIA-SMI 538.67 Driver Version: 538.67 CUDA Version: 12.2 | |-----------------------------------------+----------------------+----------------------+ | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+======================+======================| | 0 NVIDIA L4 WDDM | 00000000:00:03.0 Off | 0 | | N/A 66C P8 17W / 72W | 128MiB / 23034MiB | 0% Default | | | | N/A | +-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=======================================================================================| | 0 N/A N/A 4888 C+G ...CBS_cw5n1h2txyewy\TextInputHost.exe N/A | | 0 N/A N/A 5180 C+G ....Search_cw5n1h2txyewy\SearchApp.exe N/A | +---------------------------------------------------------------------------------------+
後續步驟
- 如要監控 GPU 效能,請參閱「監控 GPU 效能」一文。
- 如要處理 GPU 主機維護作業,請參閱「處理 GPU 主機維護事件」。
- 如要改善網路效能,請參閱「使用較高的網路頻寬」。
- 如要排解 GPU VM 問題,請參閱「排解 GPU VM 問題」。