GPU ドライバをインストールする

1 つ以上の GPU を使用する仮想マシン(VM)インスタンスを作成すると、アプリケーションがデバイスにアクセスできるようにするために、システムに NVIDIA デバイス ドライバが必要になります。仮想マシン(VM)インスタンスに十分な空きディスク容量があることを確認します。新しい VM を作成する場合は、ブートディスクに 40 GB 以上を選択する必要があります。

ドライバをインストールするには、次の 2 つの方法があります。

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 のドキュメントをご覧ください。

このセクションの表を使用して、GPU マシンタイプに最適な NVIDIA ドライバ ブランチを特定してください。

次の表で、EOS はサポート終了を示します。N/A は、指定されたオペレーティング システム(OS)がマシンタイプで実行できないことを示します。

マシンタイプ GPU モデル サポートされているブランチ 推奨ブランチ
(EOS 日付)
推奨ブランチの最小ドライバ
A4X NVIDIA Blackwell GB200 Superchip R570 以降 R580(2028 年 8 月)
  • Linux: 580.82.07 以降
  • Windows: 該当なし
A4 NVIDIA Blackwell B200 R570 以降 R580(2028 年 8 月)
  • Linux: 580.82.07 以降
  • Windows: 該当なし
A3 Ultra NVIDIA H200 R570 以降 R580(2028 年 8 月)
  • Linux: 580.82.07 以降
  • Windows: 該当なし
A3 Mega、High、Edge NVIDIA H100 R535 以降 R535(2026 年 6 月)
  • Linux: 535.230.02 以降
  • Windows: 該当なし
G2 NVIDIA L4 R535 以降 R535(2026 年 6 月)
  • Linux: 535.230.02 以降
  • Windows: 538.67 以降
A2 Standard、A2 Ultra NVIDIA A100 R535 以降 R535(2026 年 6 月)
  • Linux: 535.230.02 以降
  • Windows: 538.67 以降
N1 NVIDIA T4 R535 以降 R535(2026 年 6 月)
  • Linux: 535.230.02 以降
  • Windows: 538.67 以降
N1 NVIDIA V100、P100、P4 R35 ~ R5801 R535(2026 年 6 月)
  • Linux: 535.230.02 以降
  • Windows: 538.67 以降

1NVIDIA は、R580 が Pascal(P4 と P100)と Volta アーキテクチャ(V100)をサポートする最後のドライバ ブランチであると発表しました。

CUDA ツールキット ガイドを使用して VM に GPU ドライバをインストールする

ほとんどの VM で NVIDIA ドライバをインストールする方法の一つは、CUDA ツールキットをインストールすることです。

CUDA ツールキットをインストールする手順は次のとおりです。

  1. 必要なドライバ バージョンをサポートする 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 ドライバのリリースノートをご覧ください。

  2. ドライバをインストールする VM に接続します。

  3. 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 ツールキットをインストールする手順は次のとおりです。

  1. VM に GPU 指標を収集する Ops エージェントのバージョン 2.38.0 以降を使用している場合は、このインストール スクリプトを使用して GPU ドライバをインストールまたはアップグレードする前に、エージェントを停止する必要があります。

    Ops エージェントを停止するには、次のコマンドを実行します。

    sudo systemctl stop google-cloud-ops-agent
  2. オペレーティング システムに Python 3 がインストールされていることを確認します。

  3. インストール スクリプトをダウンロードします。

    curl -L https://storage.googleapis.com/compute-gpu-installation-us/installer/latest/cuda_installer.pyz --output cuda_installer.pyz
  4. インストール スクリプトを実行します。

    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 が再起動した場合は、スクリプトを再度実行してインストールを続行します。

  5. インストールを確認します。GPU ドライバのインストールの確認をご覧ください。

  6. このツールを使用して CUDA ツールキットをインストールすることもできます。CUDA Toolkit をインストールするには、次のコマンドを実行します。

    sudo python3 cuda_installer.pyz install_cuda --installation-mode=INSTALLATION_MODE --installation-branch=BRANCH

    INSTALLATION_MODEBRANCH には、ドライバのインストール時と同じ値を使用してください。

    スクリプトの実行には時間がかかります。VM が再起動します。VM が再起動したら、スクリプトを再度実行してインストールを続行します。

  7. CUDA ツールキットのインストールを確認します。

    python3 cuda_installer.pyz verify_cuda
  8. インストールが完了したら、VM を再起動する必要があります。

Linux(起動スクリプト)

VM の起動時に GPU ドライバをインストールするには、次の手順を行います。

サポートされているオペレーティング システム

Linux のインストール スクリプトは、次のオペレーティング システムでテストされています。

  • Debian 12
  • Red Hat Enterprise Linux(RHEL)8、9
  • Rocky Linux 8、9
  • Ubuntu 22、24

このスクリプトを他のオペレーティング システムで使用すると、インストールが失敗する可能性があります。このスクリプトでは、NVIDIA ドライバと CUDA ツールキットをインストールできます。

次の起動スクリプトを使用して、ドライバと CUDA ツールキットのインストールを自動化します。

#!/bin/bash
if test -f /opt/google/cuda-installer
then
  exit
fi

mkdir -p /opt/google/cuda-installer
cd /opt/google/cuda-installer/ || exit

if test -f cuda_installation
then
  exit
fi

curl -fSsL -O https://storage.googleapis.com/compute-gpu-installation-us/installer/latest/cuda_installer.pyz
python3 cuda_installer.pyz install_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 ターミナルを開き、次の手順を行います。

  1. Windows Server 2016 を使用している場合は、Transport Layer Security(TLS)バージョンを 1.2 に設定します。

    [Net.ServicePointManager]::SecurityProtocol = 'Tls12'
    
  2. スクリプトをダウンロードします。

    Invoke-WebRequest https://github.com/GoogleCloudPlatform/compute-gpu-installation/raw/main/windows/install_gpu_driver.ps1 -OutFile C:\install_gpu_driver.ps1
  3. スクリプトを実行します。

    C:\install_gpu_driver.ps1

    スクリプトの実行には時間がかかります。インストール プロセス中はコマンド プロンプトは表示されません。スクリプトが終了すると、ドライバがインストールされます。

    このスクリプトは、VM のデフォルトの場所に C:\Program Files\NVIDIA Corporation\\ ドライバをインストールします。

  4. インストールを確認します。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 イメージを作成する手順は次のとおりです。

    1. In the Google Cloud console, activate Cloud Shell.

      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.

    2. cuda_installer ツールをダウンロードします。スクリプトの最新バージョンをダウンロードするには、次のコマンドを実行します。

      curl -L https://storage.googleapis.com/compute-gpu-installation-us/installer/latest/cuda_installer.pyz --output cuda_installer.pyz
      
    3. 次のコマンドを実行して、セキュアブートが有効になっているイメージをビルドします。イメージの作成プロセスには最大 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 のドキュメントを確認することもできます。

    4. イメージを検証します。次の手順で、イメージでセキュアブートが有効になっており、NVIDIA ドライバがインストールされた GPU インスタンスを作成できることを確認します。

      1. テスト用 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 のリージョンとゾーンをご覧ください。
      2. gcloud compute ssh を使用してテスト VM で mokutil --sb-state コマンドを実行し、セキュアブートが無効になっていないことを確認します。

        gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_INSTANCE_NAME --command "mokutil --sb-state"
        
      3. 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"
        
    5. クリーンアップを実行します。カスタマイズされたイメージが機能することを確認したら、検証用 VM を保持する必要はありません。VM を削除するには、次のコマンドを実行します。

      gcloud compute instances delete --zone=$ZONE --project=$PROJECT $TEST_INSTANCE_NAME
      
    6. 省略可: 作成したディスク イメージを削除するには、次のコマンドを実行します。

      gcloud compute images delete --project=$PROJECT $SECURE_BOOT_IMAGE
      
    7. 自己署名(手動)

      サポートされているオペレーティング システム

      この手動による自己署名方法は、次のオペレーティング システムでテストされています。

      • Debian 12
      • Red Hat Enterprise Linux(RHEL)8、9
      • Rocky Linux 8、9
      • Ubuntu 22、24

      概要

      インストール、署名、イメージ作成のプロセスは次のとおりです。

      1. ドライバの署名に使用する独自の証明書を生成します。
      2. GPU ドライバをインストールして署名する VM を作成します。VM を作成するには、任意の OS を使用できます。VM を作成するときに、セキュアブートを無効にする必要があります。VM に GPU を割り当てる必要はありません。
      3. GPU ドライバとオプションの CUDA ツールキットをインストールして署名します。
      4. 自己署名ドライバを含むマシンに基づいてディスク イメージを作成し、信頼できる証明書のリストに証明書を追加します。
      5. このイメージを使用して、セキュアブートが有効になっている GPU VM を作成します。

      イメージの作成

        1. In the Google Cloud console, activate Cloud Shell.

          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.

        2. 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"
          
        3. 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"
        4. 生成された秘密鍵ファイルを 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
          
        5. ドライバをインストールして署名します。ドライバと CUDA ツールキットのインストールと署名は、セキュアブートを使用しないインストールにも使用されるインストール スクリプトによって処理されます。ドライバをインストールして署名する手順は次のとおりです。

          1. SSH を使用して VM に接続します。

            gcloud compute ssh --zone $ZONE --project $PROJECT $INSTANCE_NAME
            
          2. 秘密鍵と公開鍵が正しくコピーされたことを確認します。

            ls private.key public.der
            
          3. ドライバのインストール スクリプトをダウンロードします。

            curl -L https://storage.googleapis.com/compute-gpu-installation-us/installer/latest/cuda_installer.pyz --output cuda_installer.pyz
            
          4. ドライバのインストールが、署名が構成された状態で設定されていることを確認します。セットアップ中にビルドマシンが再起動します。ビルドマシンが再起動したら、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 のインストールが完了すると、システムが再起動します。再接続したら、次の手順に進みます。

          5. 一時マシンで証明書ファイルが不要になったため、削除します。セキュリティを強化するには、rm コマンドの代わりに shred を使用します。最終的なディスク イメージには、キーが存在しないようにする必要があります。

            shred -uz private.key public.der
            
          6. VM をシャットダウンして、そのディスクを使用して新しいイメージを作成できるようにします。

            sudo shutdown now
            
        6. ベースディスク イメージを準備します。セキュアブートを有効にしてインスタンスを作成するために使用できる新しいディスク イメージを作成するには、新しく生成された鍵を信頼するようにイメージを構成する必要があります。新しいディスク イメージは、オペレーティング システムで使用されるデフォルトの証明書を引き続き受け入れます。ベースイメージを準備する手順は次のとおりです。

          1. デフォルトの証明書をダウンロードします。次のコマンドを使用して、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
            
          2. 証明書を確認します。

            cat <<EOF >>check.sha1
            46def63b5ce61cf8ba0de2e6639c1019d0ed14f3  MicCorUEFCA2011_2011-06-27.crt
            580a6f4cc4e4b669b9ebdc1b2b3e087b80d0678d  MicWinProPCA2011_2011-10-19.crt
            EOF
            
            sha1sum -c check.sha1
            
          3. 一時 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
            
        7. 新しいイメージを確認します。新しいディスク イメージを使用して GPU VM を作成できます。この手順では、セキュアブートが有効になっている単一の T4 アクセラレータを備えた N1 マシンタイプをおすすめします。ただし、このイメージは他のタイプの GPU とマシンタイプもサポートしています。

          1. テスト用の 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 のリージョンとゾーンをご覧ください。
          2. gcloud compute ssh を使用してテスト VM で mokutil --sb-state コマンドを実行し、セキュアブートが有効になっていることを確認します。

            gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_GPU_INSTANCE --command "mokutil --sb-state"
            
          3. 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"
            
        8. クリーンアップを実行します。新しいイメージが機能することを確認したら、一時 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
          
        9. 事前署名済み(Ubuntu のみ)

          以下の手順は、Ubuntu 18.04、20.04、22.04 オペレーティング システムで実行されるセキュアブート Linux VM でのみ使用できます。さらに多くの Linux オペレーティング システムに対応中です。

          セキュアブートを使用する Ubuntu VM に GPU ドライバをインストールするには、次の手順を行います。

          1. ドライバをインストールする VM に接続します。

          2. リポジトリを更新します。

             sudo apt-get update
            
          3. 最新の 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 の場合は、次のコマンドを実行します。

            1. Ubuntu FIPS の更新を有効にします。

              sudo ua enable fips-updates
              
            2. シャットダウンと再起動

              sudo shutdown -r now
              
            3. 最新のパッケージを入手します。

              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 のようなバージョン文字列です。

          4. カーネル モジュール パッケージと、対応する NVIDIA ドライバをインストールします。

             sudo apt install linux-modules-nvidia-${NVIDIA_DRIVER_VERSION}-gcp nvidia-driver-${NVIDIA_DRIVER_VERSION}
            

            コマンドが package not found error で失敗した場合は、最新の NVIDIA ドライバがリポジトリに存在しない可能性があります。前のステップを再試行し、テール番号を変更して以前のドライバ バージョンを選択します。

          5. NVIDIA ドライバがインストールされていることを確認します。場合によっては VM を再起動する必要があります。

          6. NVIDIA のバージョンを確認するためにシステムを再起動した場合、再起動後、ステップ 3 で使用したコマンドを再実行して NVIDIA_DRIVER_VERSION 変数をリセットする必要があります。

          7. NVIDIA パッケージ リポジトリを使用するように APT を構成します。

            1. 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

            2. software-properties-common をインストールします。これは、Ubuntu の最小イメージを使用している場合に必要です。

              sudo apt install software-properties-common
              
            3. 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
            4. cuda-keyring パッケージをダウンロードします。

              wget https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/cuda-keyring_1.0-1_all.deb
            5. 次の方法で、cuda-keyring パッケージをインストールします。

              sudo dpkg -i cuda-keyring_1.0-1_all.deb
            6. NVIDIA リポジトリを追加します。

              sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/ /"

            プロンプトが表示されたら、現在のバージョンを維持するデフォルトのアクションを選択します。

          8. 互換性のある 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 のようなバージョン文字列です。

          9. 前の手順で特定したバージョンで CUDA ドライバをインストールします。

             sudo apt install cuda-drivers-${NVIDIA_DRIVER_VERSION}=${CUDA_DRIVER_VERSION} cuda-drivers=${CUDA_DRIVER_VERSION}
            

          10. 省略可: dkms のパッケージを保持します。

            セキュアブートを有効にしたら、すべてのカーネル モジュールを読み込むために署名する必要があります。dkms によってビルドされたカーネル モジュールは、デフォルトでは適切に署名されていないため、VM で動作しません。これは省略可能な手順ですが、今後、他の dkms パッケージが誤ってインストールされるのを防ぐのに役立ちます。

            dkms パッケージを保持するには、次のコマンドを実行します。

             sudo apt-get remove dkms && sudo apt-mark hold dkms
            
          11. 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 のようなバージョン文字列です。

          12. CUDA パッケージをインストールします。

             sudo apt install cuda-${CUDA_VERSION}
            
          13. CUDA のインストールを確認します。

             sudo nvidia-smi
             /usr/local/cuda/bin/nvcc --version
            

            最初のコマンドで GPU 情報を出力します。2 番目のコマンドは、インストールされている CUDA コンパイラのバージョンを出力します。

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      |
+---------------------------------------------------------------------------------------+

次のステップ