建立具有一或多個 GPU 的虛擬機器 (VM) 執行個體後,系統需有 NVIDIA 裝置驅動程式,應用程式才能存取該裝置。確認虛擬機器 (VM) 執行個體有足夠的可用磁碟空間。建立新 VM 時,開機磁碟至少應選擇 40 GB。
如要安裝驅動程式,可以選擇下列其中一個選項:
如需 GPU 來加速處理 3D 繪圖,例如遠端桌面或遊戲,請參閱「安裝 NVIDIA RTX 虛擬工作站 (vWS) 的驅動程式」。
如要執行其他工作負載,請按照本文中的操作說明安裝 NVIDIA 驅動程式。
NVIDIA 驅動程式、CUDA Toolkit 和 CUDA 執行階段版本
您的環境可能需要不同版本的驅動程式和執行階段元件。包括下列元件:
- NVIDIA 驅動程式
- CUDA 工具包
- CUDA 執行階段
安裝這些元件時,您可以視需求設定環境。舉例來說,如果您有舊版 TensorFlow,最適合搭配舊版 CUDA Toolkit 使用,但您想使用的 GPU 需要新版 NVIDIA 驅動程式,這時您可以安裝舊版 CUDA Toolkit,以及新版 NVIDIA 驅動程式。
不過,您必須確保 NVIDIA 驅動程式和 CUDA Toolkit 版本相容。如要瞭解 CUDA Toolkit 和 NVIDIA 驅動程式的相容性,請參閱 NVIDIA CUDA 相容性文件。
必要 NVIDIA 驅動程式版本
在 Compute Engine 上執行的 NVIDIA GPU 建議使用下列 NVIDIA 驅動程式版本。
機器系列 | NVIDIA GPU 型號 | Linux 建議使用的驅動程式 | Linux 最低驅動程式 | Windows 建議的驅動程式 |
---|---|---|---|---|
A4X | B200 | 最新 570 | 570.133.20 | 不適用 |
A4 | B200 | 最新 570 | 570.124.06 | 不適用 |
A3 Ultra | H200 | 最新 570 | 550.90.076 | 不適用 |
A3 Mega、High、Edge | H100 | 最新 550 | 550.90.07 | 不適用 |
G2 | L4 | 最新 550 | 550.90.07 | 538.67 |
A2 | A100 | 最新 550 | 550.90.07 | 538.67 |
N1 | T4、P4、P100 和 V100 | 最新 535 | 535.183.01 | 538.67 |
按照 NVIDIA 指南在 VM 上安裝 GPU 驅動程式
在大多數 VM 上安裝 NVIDIA 驅動程式的方法之一,是安裝 NVIDIA CUDA Toolkit。
如要安裝 NVIDIA 工具包,請完成下列步驟:
在 VM 上下載並安裝 CUDA 工具包。下表列出建議的最低工具包安裝套件和指南。安裝工具包前,請務必先完成安裝指南中的前置安裝步驟。
機器系列 NVIDIA GPU 型號 Linux 建議使用的 CUDA Toolkit Windows 建議使用的 CUDA 工具包 A4X GB200 - 下載連結:CUDA Toolkit 12.8 Update 1
- 安裝指南:CUDA 12.8 安裝指南
不適用 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。如果 VM 重新啟動,請再次執行指令碼,繼續安裝程序。
確認 CUDA 工具組安裝完成。
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 驅動程式。
GPU 支援
本節程序支援 Compute Engine 上的所有 GPU 型號。
如果安全啟動執行個體已連結 NVIDIA RTX 虛擬工作站 (vWS) 版本的 GPU,您就無法使用這些程序安裝驅動程式。
如果您使用的是 Windows VM 或未採用安全啟動的 Linux VM,請改為參閱下列其中一項操作說明:
在安全啟動 VM 上安裝驅動程式時,Linux VM 的做法與其他 VM 不同,因為這類 VM 需要所有核心模組都具有受信任的憑證簽章。
安裝
如要安裝具有信任憑證的驅動程式,可以使用下列任一選項:
- 為驅動程式建立信任的憑證。如要使用這個選項,請從下列項目中選擇:
- 自動化方法:使用映像檔建構工具建立開機映像檔,並安裝驅動程式的信任憑證
- 手動方法:自行產生憑證,並用來簽署 GPU 驅動程式的核心模組
使用預先簽署的驅動程式,搭配現有的信任憑證。這個方法僅支援 Ubuntu。
自行簽署 (自動)
支援的作業系統:
這項自動化自行簽署方法已在下列作業系統上測試:
- Debian 12
- Red Hat Enterprise Linux (RHEL) 8 和 9
- Rocky Linux 8 和 9
- Ubuntu 22 和 24
程序
如要建立含有自簽憑證的 OS 映像檔,請完成下列步驟:
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
下載 cuda_installer 工具。如要下載最新版指令碼,請執行下列指令:
curl -L https://storage.googleapis.com/compute-gpu-installation-us/installer/latest/cuda_installer.pyz --output cuda_installer.pyz
執行下列指令,建構啟用安全啟動的映像檔。圖片建立程序最多可能需要 20 分鐘。
PROJECT=PROJECT_ID ZONE=ZONE BASE_IMAGE=BASE_IMAGE_NAME SECURE_BOOT_IMAGE=IMAGE_NAME python3 cuda_installer.pyz build_image \ --project $PROJECT \ --vm-zone $ZONE \ --base-image $BASE_IMAGE $SECURE_BOOT_IMAGE
更改下列內容:
PROJECT_ID
:要在其中建立映像檔的專案 IDZONE
:用於建立臨時 VM 的可用區。例如us-west4-a
。IMAGE_NAME
:要建立的映像檔名稱。BASE_IMAGE_NAME
:從下列選項中選取:debian-12
rhel-8
或rhel-9
rocky-8
或rocky-9
ubuntu-22
或ubuntu-24
您也可以新增
--family NAME
標記,將新映像檔加入映像檔系列。如要查看圖片的所有自訂選項,請執行
python3 cuda_installer.pyz build_image --help
。您也可以在 GitHub 上查看cuda_installer
的說明文件。驗證圖片。請按照下列步驟確認映像檔已啟用安全啟動功能,並可建立已安裝 NVIDIA 驅動程式的 GPU 執行個體。
建立測試 VM 執行個體,確認映像檔設定正確無誤,且 GPU 驅動程式已順利載入。以下範例會建立 N1 機器類型,並附加單一 NVIDIA T4 加速器。不過,您可以選擇任何支援的 GPU 機器類型。
TEST_INSTANCE_NAME=TEST_INSTANCE_NAME ZONE=ZONE gcloud compute instances create $TEST_INSTANCE_NAME \ --project=$PROJECT \ --zone=$ZONE \ --machine-type=n1-standard-4 \ --accelerator=count=1,type=nvidia-tesla-t4 \ --create-disk=auto-delete=yes,boot=yes,device-name=$TEST_INSTANCE_NAME,image=projects/$PROJECT/global/images/$SECURE_BOOT_IMAGE,mode=rw,size=100,type=pd-balanced \ --shielded-secure-boot \ --shielded-vtpm \ --shielded-integrity-monitoring \ --maintenance-policy=TERMINATE
更改下列內容:
TEST_INSTANCE_NAME
:測試 VM 執行個體的名稱ZONE
:具有 T4 GPU 或所選 GPU 的區域。詳情請參閱 GPU 地區和區域。
在測試 VM 上使用
gcloud compute ssh
執行mokutil --sb-state
指令,確認是否已啟用安全啟動。gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_INSTANCE_NAME --command "mokutil --sb-state"
使用
gcloud compute ssh
在測試 VM 上執行nvidia-smi
指令,確認驅動程式已安裝。gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_INSTANCE_NAME --command "nvidia-smi"
如果您已安裝 CUDA Toolkit,可以按照下列步驟使用
cuda_installer
工具驗證安裝:gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_INSTANCE_NAME --command "python3 cuda_installer.pyz verify_cuda"
清除所用資源。確認自訂映像檔可正常運作後,就不需要保留驗證 VM。如要刪除 VM,請執行下列指令:
gcloud compute instances delete --zone=$ZONE --project=$PROJECT $TEST_INSTANCE_NAME
選用:如要刪除您建立的磁碟映像檔,請執行下列指令:
gcloud compute images delete --project=$PROJECT $SECURE_BOOT_IMAGE
自行簽署 (手動)
支援的作業系統
我們已在下列作業系統測試過這個手動自行簽署方法:
- Debian 12
- Red Hat Enterprise Linux (RHEL) 8 和 9
- Rocky Linux 8 和 9
- Ubuntu 22 和 24
總覽
安裝、簽署及建立映像檔的程序如下:
- 產生自己的憑證,用於簽署驅動程式。
- 建立 VM,安裝並簽署 GPU 驅動程式。如要建立 VM,可以使用您選擇的 OS。建立 VM 時,您必須停用安全啟動功能。您不需要將任何 GPU 連接至 VM。
- 安裝並簽署 GPU 驅動程式,以及選用的 CUDA Toolkit。
- 根據具有自行簽署驅動程式的電腦建立磁碟映像檔,將憑證新增至信任的憑證清單。
- 使用該映像檔建立已啟用安全啟動功能的 GPU VM。
圖片製作
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
使用 OpenSSL 產生自己的憑證。使用 OpenSSL 時,安全啟動的簽署和驗證作業會使用一般唯一編碼規則 (DER) 編碼的 X.509 憑證。執行下列指令,產生新的自行簽署 X.509 憑證和 RSA 私密金鑰檔案。
openssl req -new -x509 -newkey rsa:2048 -keyout private.key -outform DER -out public.der -noenc -days 36500 -subj "/CN=Graphics Drivers Secure Boot Signing"
建立 VM,安裝自行簽署的驅動程式。建立 VM 時,您不需要連結任何 GPU 或啟用安全啟動功能。您可以使用至少有 40 GB 可用空間的標準 E2 機器類型,確保安裝程序順利完成。
INSTANCE_NAME=BUILD_INSTANCE_NAME DISK_NAME=IMAGE_NAME ZONE=ZONE PROJECT=PROJECT_ID OS_IMAGE=IMAGE_DETAILS # Create the build VM gcloud compute instances create $INSTANCE_NAME \ --zone=$ZONE \ --project=$PROJECT \ --machine-type=e2-standard-4 \ --create-disk=auto-delete=yes,boot=yes,name=$DISK_NAME,$OS_IMAGE,mode=rw,size=100,type=pd-balanced \ --no-shielded-secure-boot
更改下列內容:
BUILD_INSTANCE_NAME
:用於建構映像檔的 VM 執行個體名稱。IMAGE_NAME
:磁碟映像檔名稱。ZONE
:要在其中建立 VM 的可用區。PROJECT_ID
:您要用來建構新磁碟映像檔的專案 ID。IMAGE_DETAILS
:所選基本 OS 映像檔的映像檔系列和專案:- Debian 12:
"image-family=debian-12,image-project=debian-cloud"
- RHEL 8:
"image-family=rhel-8,image-project=rhel-cloud"
- RHEL 9:
"image-family=rhel-9,image-project=rhel-cloud"
- Rocky Linux 8:
"image-family=rocky-linux-8,image-project=rocky-linux-cloud"
- Rocky Linux 9:
"image-family=rocky-linux-9,image-project=rocky-linux-cloud"
- Ubuntu 22:
"image-family=ubuntu-2204-lts-amd64,image-project=ubuntu-os-cloud"
- Ubuntu 24:
"image-family=ubuntu-2404-lts-amd64,image-project=ubuntu-os-cloud"
- Debian 12:
將產生的私密金鑰檔案複製到 VM。如要簽署驅動程式檔案,您必須在 VM 上使用新產生的金鑰組。
gcloud compute scp --zone $ZONE --project $PROJECT private.key $INSTANCE_NAME:~/private.key gcloud compute scp --zone $ZONE --project $PROJECT public.der $INSTANCE_NAME:~/public.der
安裝並簽署驅動程式。安裝指令碼會處理驅動程式和 CUDA Toolkit 的安裝和簽署作業,這個指令碼也適用於不使用安全啟動功能的安裝作業。如要安裝及簽署驅動程式,請完成下列步驟:
使用 SSH 連線至 VM:
gcloud compute ssh --zone $ZONE --project $PROJECT $INSTANCE_NAME
確認私密金鑰和公開金鑰已正確複製:
ls private.key public.der
下載驅動程式安裝指令碼:
curl -L https://storage.googleapis.com/compute-gpu-installation-us/installer/latest/cuda_installer.pyz --output cuda_installer.pyz
確認驅動程式安裝作業已設定簽署。 設定期間,建構機器會重新啟動。建構機器重新啟動後,請使用 SSH 連線至 VM,然後重新執行指令碼,繼續安裝作業。
sudo python3 cuda_installer.pyz install_driver --secure-boot-pub-key=public.der --secure-boot-priv-key=private.key --ignore-no-gpu
如要同時安裝 CUDA Toolkit,請執行下列指令。
sudo python3 cuda_installer.pyz install_cuda --ignore-no-gpu
您可能會看到一些錯誤或警告訊息。這是因為系統未偵測到 GPU,屬於預期結果。系統會在完成 CUDA Toolkit 安裝後重新啟動。重新連線後,即可繼續進行後續步驟。
移除憑證檔案,因為臨時電腦已不再需要這些檔案。為提升安全性,請使用
shred
,而非rm
指令。最終磁碟映像檔不應包含金鑰。shred -uz private.key public.der
關閉 VM,以便使用其磁碟建立新映像檔。
sudo shutdown now
準備基本磁碟映像檔。如要建立新的磁碟映像檔,以便建立啟用安全啟動的執行個體,您必須設定映像檔,信任新產生的金鑰。新磁碟映像檔仍會接受作業系統使用的預設憑證。如要準備基礎映像檔,請完成下列步驟。
下載預設憑證。使用下列指令下載 MicWinProPCA2011_2011-10-19.crt 和 MicCorUEFCA2011_2011-06-27.crt 憑證:
curl -L https://storage.googleapis.com/compute-gpu-installation-us/certificates/MicCorUEFCA2011_2011-06-27.crt --output MicCorUEFCA2011_2011-06-27.crt curl -L https://storage.googleapis.com/compute-gpu-installation-us/certificates/MicWinProPCA2011_2011-10-19.crt --output MicWinProPCA2011_2011-10-19.crt
驗證憑證:
cat <<EOF >>check.sha1 46def63b5ce61cf8ba0de2e6639c1019d0ed14f3 MicCorUEFCA2011_2011-06-27.crt 580a6f4cc4e4b669b9ebdc1b2b3e087b80d0678d MicWinProPCA2011_2011-10-19.crt EOF sha1sum -c check.sha1
根據暫時 VM 的磁碟建立映像檔。您可以新增
--family=IMAGE_FAMILY_NAME
做為選項,將映像檔設為指定映像檔系列的最新映像檔。建立新圖片可能需要幾分鐘的時間。在
public.der
檔案和下載的憑證所在的目錄中執行下列指令。SECURE_BOOT_IMAGE=IMAGE_NAME gcloud compute images create $SECURE_BOOT_IMAGE \ --source-disk=$DISK_NAME \ --source-disk-zone=$ZONE \ --project=$PROJECT \ --signature-database-file=MicWinProPCA2011_2011-10-19.crt,MicCorUEFCA2011_2011-06-27.crt,public.der \ --guest-os-features="UEFI_COMPATIBLE"
您可以執行下列指令,確認憑證的公開金鑰是否已附加至這個新映像檔:
gcloud compute images describe --project=$PROJECT $SECURE_BOOT_IMAGE
確認新圖片。您可以使用新的磁碟映像檔建立 GPU VM。建議您在此步驟使用啟用安全啟動的 N1 機器類型,並搭配單一 T4 加速器。不過,該映像檔也支援其他類型的 GPU 和機器類型。
建立測試用 GPU VM:
TEST_GPU_INSTANCE=TEST_GPU_INSTANCE_NAME ZONE=ZONE gcloud compute instances create $TEST_GPU_INSTANCE \ --project=$PROJECT \ --zone=$ZONE \ --machine-type=n1-standard-4 \ --accelerator=count=1,type=nvidia-tesla-t4 \ --create-disk=auto-delete=yes,boot=yes,device-name=$TEST_GPU_INSTANCE,image=projects/$PROJECT/global/images/$SECURE_BOOT_IMAGE,mode=rw,size=100,type=pd-balanced \ --shielded-secure-boot \ --shielded-vtpm \ --shielded-integrity-monitoring \ --maintenance-policy=TERMINATE
更改下列內容:
TEST_GPU_INSTANCE_NAME
:您要建立的 GPU VM 執行個體名稱,
用於測試新映像檔。ZONE
:具有 T4 GPU 或您選擇的其他 GPU 的區域。 詳情請參閱「GPU 地區和區域」。
使用
gcloud compute ssh
在測試 VM 上執行mokutil --sb-state
指令,確認安全啟動已啟用。gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_GPU_INSTANCE --command "mokutil --sb-state"
在測試 VM 上使用
gcloud compute ssh
執行nvidia-smi
指令,確認驅動程式已安裝。gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_GPU_INSTANCE --command "nvidia-smi"
如果您已安裝 CUDA Toolkit,可以按照下列步驟使用
cuda_installer
工具驗證安裝:gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_GPU_INSTANCE --command "python3 cuda_installer.pyz verify_cuda"
清除所用資源。確認新映像檔可正常運作後,就不需要保留臨時 VM 或驗證 VM。您建立的磁碟映像檔不會以任何方式依附於這些檔案。您可以使用下列指令刪除這些檔案:
gcloud compute instances delete --zone=$ZONE --project=$PROJECT $INSTANCE_NAME gcloud compute instances delete --zone=$ZONE --project=$PROJECT $TEST_GPU_INSTANCE
我們不建議您將安全啟動簽署憑證以未加密狀態儲存在磁碟上。如要安全地儲存金鑰,並與他人共用,可以使用 Secret Manager 保護資料安全。
如果不再需要磁碟上的檔案,最好使用
shred
工具安全移除檔案。執行下列指令:# Safely delete the key pair from your system shred -uz private.key public.der
預先簽署 (僅限 Ubuntu)
這些操作說明僅適用於在 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)
如要查看 CUDA 驅動程式版本,請執行
echo $CUDA_DRIVER_VERSION
。 輸出內容為版本字串,例如455.32.00-1
。安裝上一步中識別出的 CUDA 驅動程式版本。
sudo apt install cuda-drivers-${NVIDIA_DRIVER_VERSION}=${CUDA_DRIVER_VERSION} cuda-drivers=${CUDA_DRIVER_VERSION}
選用:保留
dkms
套裝組合。啟用安全啟動後,所有核心模組都必須經過簽署才能載入。
dkms
建構的 Kernel 模組無法在 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)
如要查看 CUDA 版本,請執行
echo $CUDA_VERSION
。 輸出內容為版本字串,例如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 | +-----------------------------------------------------------------------------------------+
如果這項指令失敗,請檢查下列事項:
檢查 GPU 是否已連結至 VM。如要檢查是否有任何 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 的問題」。