1 つ以上の GPU を使用する仮想マシン(VM)インスタンスを作成すると、アプリケーションがデバイスにアクセスできるようにするために、システムに NVIDIA デバイス ドライバが必要になります。仮想マシン(VM)インスタンスに十分な空きディスク容量があることを確認します。新しい VM を作成する場合は、ブートディスクに 40 GB 以上を選択する必要があります。
ドライバをインストールするには、次の 2 つの方法があります。
リモート デスクトップやゲームなど、ハードウェア アクセラレーションの 3D グラフィックに GPU が必要な場合は、NVIDIA RTX 仮想ワークステーション(vWS)用のドライバをインストールするをご覧ください。
他のワークロードについては、このドキュメントの手順に沿って NVIDIA ドライバをインストールしてください。
NVIDIA ドライバ、CUDA ツールキット、CUDA ランタイム バージョン
環境内で必要になるドライバやランタイムのコンポーネントのバージョンが異なる可能性があります。次のコンポーネントがこれに該当します。
- NVIDIA ドライバ
- CUDA ツールキット
- CUDA ランタイム
これらのコンポーネントをインストールする際に、ニーズに合わせて環境を構成できます。たとえば、以前のバージョンの CUDA ツールキットで最適に動作する以前のバージョンの TensorFlow があるが、使用する GPU には新しいバージョンの NVIDIA ドライバが必要な場合は、以前のバージョンの CUDA ツールキットと新しいバージョンの NVIDIA ドライバをインストールできます。
ただし、NVIDIA ドライバと CUDA ツールキットのバージョンに互換性があることを確認する必要があります。CUDA ツールキットと NVIDIA ドライバの互換性については、CUDA の互換性に関する NVIDIA ドキュメントをご覧ください。
NVIDIA ドライバのブランチについて
NVIDIA は次の 3 つのドライバ ブランチを提供しています。
- Long-Term Support Branch(LTSB): このブランチは安定性を重視し、メンテナンスを最小限に抑え、サポート ライフサイクルを 3 年間延長します。Google がテストして検証した最新の LTSB は R580 で、サポート終了日は 2028 年 8 月です。
- プロダクション ブランチ(PB): このブランチは、パフォーマンスの強化と最新のハードウェアのサポートを提供します。本番環境のワークロードを完全にサポートしますが、サポート期間は最長 1 年と短くなっています。Google がテストして確認した最新の PB は R570 で、サポート終了日は 2026 年 2 月です。
- 新機能ブランチ(NFB): このブランチは、新機能をテストする先行ユーザー向けであり、本番環境にはおすすめしません。
本番環境のワークロードには、Production Branch または Long-Term Support Branch を使用します。NVIDIA ブランチの詳細については、NVIDIA のドキュメントをご覧ください。
推奨される NVIDIA ドライバ ブランチ
このセクションの表を使用して、GPU マシンタイプに最適な NVIDIA ドライバ ブランチを特定してください。
次の表で、EOS
はサポート終了を示します。N/A
は、指定されたオペレーティング システム(OS)がマシンタイプで実行できないことを示します。
マシンタイプ | GPU モデル | サポートされているブランチ | 推奨ブランチ (EOS 日付) |
推奨ブランチの最小ドライバ |
---|---|---|---|---|
A4X | NVIDIA Blackwell GB200 Superchip | R570 以降 | R580(2028 年 8 月) |
|
A4 | NVIDIA Blackwell B200 | R570 以降 | R580(2028 年 8 月) |
|
A3 Ultra | NVIDIA H200 | R570 以降 | R580(2028 年 8 月) |
|
A3 Mega、High、Edge | NVIDIA H100 | R535 以降 | R535(2026 年 6 月) |
|
G2 | NVIDIA L4 | R535 以降 | R535(2026 年 6 月) |
|
A2 Standard、A2 Ultra | NVIDIA A100 | R535 以降 | R535(2026 年 6 月) |
|
N1 | NVIDIA T4 | R535 以降 | R535(2026 年 6 月) |
|
N1 | NVIDIA V100、P100、P4 | R35 ~ R5801 | R535(2026 年 6 月) |
|
1NVIDIA は、R580 が Pascal(P4 と P100)と Volta アーキテクチャ(V100)をサポートする最後のドライバ ブランチであると発表しました。
CUDA ツールキット ガイドを使用して VM に GPU ドライバをインストールする
ほとんどの VM で NVIDIA ドライバをインストールする方法の一つは、CUDA ツールキットをインストールすることです。
CUDA ツールキットをインストールする手順は次のとおりです。
必要なドライバ バージョンをサポートする CUDA ツールキットのバージョンを選択します。
マシンタイプ GPU モデル 推奨される CUDA ツールキット A4X NVIDIA Blackwell GB200 Superchip CUDA 12.8.1 以降 A4 NVIDIA Blackwell B200 CUDA 12.8.1 以降 A3 Ultra NVIDIA H200 CUDA 12.4 以降 G2 NVIDIA L4 CUDA 12.2.2 以降 A3 Mega、High、Edge NVIDIA H100 CUDA 12.2.2 以降 A2 Standard、A2 Ultra NVIDIA A100 CUDA 12.2.2 以降 N1 NVIDIA T4 CUDA 12.2.2 以降 N1 NVIDIA V100、P100、P4 CUDA 12.2.2 から CUDA 12(最終版)1 1CUDA Toolkit 12 は、Pascal(P4 と P100)と Volta アーキテクチャ(V100)をサポートする最後のツールキットです。NVIDIA は、CUDA Toolkit 13.0 メジャー バージョンのリリース以降、これらのアーキテクチャのオフライン コンパイルとライブラリのサポートを削除することを発表しました。詳細については、NVIDIA 13.0 ドライバのリリースノートをご覧ください。
ドライバをインストールする VM に接続します。
VM に CUDA ツールキットをダウンロードしてインストールします。CUDA ツールキット パッケージとインストール手順については、NVIDIA ドキュメントの CUDA ツールキット アーカイブをご覧ください。
インストール スクリプトを使用して VM に GPU ドライバをインストールする
以下のスクリプトを使用して、インストール プロセスを自動化できます。これらのスクリプトを確認するには、GitHub リポジトリをご覧ください。
Linux
実行中の VM に GPU ドライバをインストールするには、次の手順を行います。
サポートされているオペレーティング システム
Linux のインストール スクリプトは、次のオペレーティング システムでテストされています。
- Debian 12
- Red Hat Enterprise Linux(RHEL)8、9
- Rocky Linux 8、9
- Ubuntu 22、24
このスクリプトを他のオペレーティング システムで使用すると、インストールが失敗する可能性があります。このスクリプトでは、NVIDIA ドライバと CUDA ツールキットをインストールできます。
GPU ドライバと CUDA ツールキットをインストールする手順は次のとおりです。
VM に GPU 指標を収集する Ops エージェントのバージョン 2.38.0 以降を使用している場合は、このインストール スクリプトを使用して GPU ドライバをインストールまたはアップグレードする前に、エージェントを停止する必要があります。
Ops エージェントを停止するには、次のコマンドを実行します。
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 --installation-mode=INSTALLATION_MODE --installation-branch=BRANCH
- INSTALLATION_MODE: インストール方法。次の値のいずれかを使用できます。
repo
: (デフォルト)公式の NVIDIA パッケージ リポジトリからドライバをインストールします。binary
: バイナリ インストール パッケージを使用してドライバをインストールします。
- BRANCH: インストールするドライバ ブランチ。次の値のいずれかを使用できます。
prod
: (デフォルト)本番環境ブランチ。このブランチは、エンタープライズおよびデータセンター GPU の本番環境での使用に適しています。nfb
: 新しい機能ブランチ。このブランチには、アーリー アドプター向けの最新のアップデートが含まれています。このブランチは、本番環境には推奨されません。lts
: 長期サポート ブランチ。このブランチは、通常のプロダクション ブランチよりも長い期間維持されます。
スクリプトの実行には時間がかかります。VM が再起動します。VM が再起動した場合は、スクリプトを再度実行してインストールを続行します。
- INSTALLATION_MODE: インストール方法。次の値のいずれかを使用できます。
インストールを確認します。GPU ドライバのインストールの確認をご覧ください。
このツールを使用して CUDA ツールキットをインストールすることもできます。CUDA Toolkit をインストールするには、次のコマンドを実行します。
sudo python3 cuda_installer.pyz install_cuda --installation-mode=INSTALLATION_MODE --installation-branch=BRANCH
INSTALLATION_MODE と BRANCH には、ドライバのインストール時と同じ値を使用してください。
スクリプトの実行には時間がかかります。VM が再起動します。VM が再起動したら、スクリプトを再度実行してインストールを続行します。
CUDA ツールキットのインストールを確認します。
python3 cuda_installer.pyz verify_cuda
インストールが完了したら、VM を再起動する必要があります。
Linux(起動スクリプト)
VM の起動時に GPU ドライバをインストールするには、次の手順を行います。
サポートされているオペレーティング システム
Linux のインストール スクリプトは、次のオペレーティング システムでテストされています。
- Debian 12
- Red Hat Enterprise Linux(RHEL)8、9
- Rocky Linux 8、9
- Ubuntu 22、24
このスクリプトを他のオペレーティング システムで使用すると、インストールが失敗する可能性があります。このスクリプトでは、NVIDIA ドライバと CUDA ツールキットをインストールできます。
次の起動スクリプトを使用して、ドライバと CUDA ツールキットのインストールを自動化します。
インストールするインストール モードとドライバ ブランチを指定するには、インストール コマンドに --installation-mode
INSTALLATION_MODE フラグと --installation-branch
BRANCH フラグを追加します。
- INSTALLATION_MODE: インストール方法。次の値のいずれかを使用できます。
repo
: (デフォルト)公式の NVIDIA パッケージ リポジトリからドライバをインストールします。binary
: バイナリ インストール パッケージを使用してドライバをインストールします。
- BRANCH: インストールするドライバ ブランチ。次の値のいずれかを使用できます。
prod
: (デフォルト)本番環境ブランチ。このブランチは、エンタープライズおよびデータセンター GPU の本番環境での使用に適しています。nfb
: 新しい機能ブランチ。このブランチには、アーリー アドプター向けの最新のアップデートが含まれています。このブランチは、本番環境には推奨されません。lts
: 長期サポート ブランチ。このブランチは、通常のプロダクション ブランチよりも長い期間維持されます。
Windows
このインストール スクリプトは、セキュアブートが有効になっている VM で使用できます。
- G2 マシンシリーズを使用する Windows VM の場合、このスクリプトは NVIDIA ドライバのみをインストールします。
- 他のマシンタイプでは、スクリプトによって NVIDIA ドライバと CUDA ツールキットがインストールされます。
管理者として PowerShell ターミナルを開き、次の手順を行います。
Windows Server 2016 を使用している場合は、Transport Layer Security(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 によって異なります。Linux 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
: イメージの作成先とするプロジェクトの ID。ZONE
: 使用される一時 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 ドライバが正常に読み込まれていることを確認します。次の例では、単一の NVIDIA T4 アクセラレータが割り当てられた N1 マシンタイプを作成します。ただし、サポートされている任意の 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 のリージョンとゾーンをご覧ください。
gcloud compute ssh
を使用してテスト VM で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 ツールキットをインストールした場合は、
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
- ドライバの署名に使用する独自の証明書を生成します。
- GPU ドライバをインストールして署名する VM を作成します。VM を作成するには、任意の OS を使用できます。VM を作成するときに、セキュアブートを無効にする必要があります。VM に GPU を割り当てる必要はありません。
- GPU ドライバとオプションの CUDA ツールキットをインストールして署名します。
- 自己署名ドライバを含むマシンに基づいてディスク イメージを作成し、信頼できる証明書のリストに証明書を追加します。
- このイメージを使用して、セキュアブートが有効になっている 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 ツールキットのインストールと署名は、セキュアブートを使用しないインストールにも使用されるインストール スクリプトによって処理されます。ドライバをインストールして署名する手順は次のとおりです。
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 のインストールが完了すると、システムが再起動します。再接続したら、次の手順に進みます。
一時マシンで証明書ファイルが不要になったため、削除します。セキュリティを強化するには、
rm
コマンドの代わりにshred
を使用します。最終的なディスク イメージには、キーが存在しないようにする必要があります。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 を作成できます。この手順では、セキュアブートが有効になっている単一の T4 アクセラレータを備えた N1 マシンタイプをおすすめします。ただし、このイメージは他のタイプの 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"
gcloud compute ssh
を使用してテスト VM でnvidia-smi
コマンドを実行し、ドライバがインストールされていることを確認します。gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_GPU_INSTANCE --command "nvidia-smi"
CUDA ツールキットをインストールした場合は、
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
ドライバをインストールする VM に接続します。
リポジトリを更新します。
sudo apt-get update
最新の NVIDIA カーネル モジュール パッケージまたは必要なバージョンを検索します。このパッケージには、Ubuntu キーによって署名された NVIDIA カーネル モジュールが含まれています。以前のバージョンを検索する場合は、tail パラメータの番号を変更して、以前のバージョンを取得します。例:
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
変数をリセットする必要があります。NVIDIA パッケージ リポジトリを使用するように APT を構成します。
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 EOLsoftware-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
によってビルドされたカーネル モジュールは、デフォルトでは適切に署名されていないため、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 情報を出力します。2 番目のコマンドは、インストールされている CUDA コンパイラのバージョンを出力します。
事前署名済み(Ubuntu のみ)
以下の手順は、Ubuntu 18.04、20.04、22.04 オペレーティング システムで実行されるセキュアブート Linux VM でのみ使用できます。さらに多くの Linux オペレーティング システムに対応中です。
セキュアブートを使用する Ubuntu VM に GPU ドライバをインストールするには、次の手順を行います。
-
自己署名(手動)
サポートされているオペレーティング システム
この手動による自己署名方法は、次のオペレーティング システムでテストされています。
概要
インストール、署名、イメージ作成のプロセスは次のとおりです。
イメージの作成
-
GPU ドライバのインストールの確認
ドライバのインストール手順が完了したら、ドライバのインストールと初期化が正しく行われたことを確認します。
Linux
Linux インスタンスに接続し、nvidia-smi
コマンドを使用して、ドライバが正常に稼働していることを確認します。
sudo nvidia-smi
出力は次のようになります。
+-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 580.82.07 Driver Version: 580.82.07 CUDA Version: 13.0 | +-----------------------------------------+------------------------+----------------------+ | 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 53C P8 17W / 70W | 0MiB / 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"
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 のトラブルシューティングをご覧ください。