GPU を追加または削除する

Compute Engine は、仮想マシン(VM)インスタンスに追加できるグラフィック プロセッシング ユニット(GPU)を備えています。これらの GPU を使用して、VM で実行される機械学習やデータ処理などの特定のワークロードを高速化できます。

Compute Engine で GPU を実行する場合、使用できるマシン ファミリーは次の 2 つだけです。

  • アクセラレータ最適化マシン ファミリー。アクセラレータ最適化マシンタイプにはすべて GPU が接続されています。
  • N1 汎用マシン ファミリー。N1 共有コア マシンタイプを除く、ほとんどの N1 マシンタイプを使用できます。N1 汎用マシンを使用していない場合は、N1 汎用マシンに切り替え、GPU を追加できます。

始める前に

  • OS イメージの選択や GPU 割り当ての確認など、その他の前提条件を確認するには、概要のドキュメントをご覧ください。
  • まだ設定していない場合は、認証を設定します。認証では、 Google Cloud サービスと API にアクセスするための ID が確認されます。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。

      gcloud init

      外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

    詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

アクセラレータ最適化 VM

各アクセラレータ最適化マシンタイプには、推奨されるワークロード タイプをサポートするために、特定モデルの NVIDIA GPU が接続されています。

AI と ML のワークロード グラフィックと可視化
アクセラレータ最適化 A シリーズ マシンタイプは、ハイ パフォーマンス コンピューティング(HPC)、人工知能(AI)、機械学習(ML)のワークロード向けに設計されています。

これらのマシンタイプの場合、GPU モデルはインスタンスに自動的にアタッチされます。

アクセラレータ最適化 G シリーズ マシンタイプは、NVIDIA Omniverse シミュレーション ワークロード、グラフィック処理を多用するアプリケーション、動画のコード変換、仮想デスクトップなどのワークロード向けに設計されています。これらのマシンタイプは、NVIDIA RTX 仮想ワークステーション(vWS)をサポートしています。

これらのマシンタイプの場合、GPU モデルはインスタンスに自動的にアタッチされます。

  • A4X (NVIDIA GB200 Superchip)
    nvidia-gb200
  • A4 (NVIDIA B200)
    nvidia-b200
  • A3 Ultra (NVIDIA H200)
    nvidia-h200-141gb
  • A3 Mega (NVIDIA H100)
    nvidia-h100-mega-80gb
  • A3 High (NVIDIA H100)
    nvidia-h100-80gb
  • A3 Edge (NVIDIA H100)
    nvidia-h100-80gb
  • A2 Ultra (NVIDIA A100 80 GB)
    nvidia-a100-80gb
  • A2 Standard (NVIDIA A100)
    nvidia-a100-40gb
  • G4(NVIDIA RTX PRO 6000)
    nvidia-rtx-pro-6000
    nvidia-rtx-pro-6000-vws
  • G2(NVIDIA L4)
    nvidia-l4
    nvidia-l4-vws

アクセラレータ最適化インスタンスは次のように変更できます。

  • A4X、A4、A3、A2 Ultra インスタンスの場合、マシンタイプを変更することはできません。インスタンスにこれらのマシンタイプを使用しており、マシンタイプを変更する必要がある場合は、新しいインスタンスを作成します。

  • A2 標準インスタンスの場合、ある A2 標準マシンタイプから別の A2 標準マシンタイプに切り替えることで、GPU 数を変更できます。

  • G4 インスタンスの場合、ある G4 マシンタイプから別の G4 マシンタイプに切り替えることで、GPU 数を変更できます。

  • G2 インスタンスでは、次のことができます。

    • GPU 数を変更するには、ある G2 マシンタイプから別の G2 マシンタイプに切り替えます。
    • G2 マシンタイプから、汎用やコンピューティング最適化などの別のマシン ファミリーのマシンタイプに切り替えることができます。VM のマシンタイプを編集するをご覧ください。
  • アクセラレータ最適化マシンタイプから GPU を削除することはできません。

GPU 数を変更する

A2 標準インスタンス、G4 インスタンス、または G2 アクセラレータ最適化インスタンスの GPU 数は、 Google Cloud コンソールまたは REST を使用して変更できます。

コンソール

インスタンスを停止してインスタンス構成を編集すると、インスタンスの GPU の数を変更できます。

  1. インスタンス上のすべての重要なアプリケーションが停止していることを確認します。

  2. Google Cloud コンソールで [VM インスタンス] ページに移動して、インスタンスのリストを表示します。

    [VM インスタンス] に移動

  3. GPU の数を変更するインスタンスの名前をクリックします。[詳細] ページが開きます。

  4. [詳細] ページから次の手順を完了します。

    1. インスタンスが実行されている場合は、 [停止] をクリックしてインスタンスを停止します。[停止] オプションがない場合は、 [その他の操作] > [停止] をクリックします。

    2. [ 編集] をクリックします。

    3. [マシンの構成] セクションで、[GPU] マシン ファミリーを選択し、次の操作を行います。

      1. [GPU の数] リストで、GPU 数を増減します。

    4. 変更を適用するには、[保存] をクリックします。

    5. インスタンスを再起動するには、[開始/再開] をクリックします。

REST

インスタンスを停止してマシンタイプを変更すると、インスタンス上の GPU の数を変更できます。アクセラレータ最適化マシンタイプごとに、特定の数の GPU がアタッチされています。マシンタイプを変更すると、インスタンスにアタッチされている GPU の数が調整されます。

  1. インスタンス上のすべての重要なアプリケーションが停止していることを確認し、インスタンスを停止する POST コマンドを作成して、GPU が使用可能なホストシステムにインスタンスが移動できるようにします。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    
  2. インスタンスが停止したら、マシンタイプを変更する POST リクエストを作成します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineType
    
    {
       machineType: "zones/ZONE/machineTypes/MACHINE_TYPE"
    }
    
  3. インスタンスを起動します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • VM_NAME: GPU を追加するインスタンスの名前。
  • ZONE: インスタンスが配置されているゾーン。このゾーンは GPU をサポートしている必要があります。
  • MACHINE_TYPE: 使用するマシンタイプ。以下のいずれかにする必要があります。

    • インスタンスが A2 標準マシンを使用している場合は、別の A2 標準マシンタイプを選択します。
    • インスタンスが G4 マシンを使用している場合は、別の G4 マシンタイプを選択します。
    • インスタンスが G2 マシンタイプを使用している場合は、別の G2 マシンタイプを選択します。G2 マシンタイプはカスタムメモリもサポートしています。メモリは 1,024 MB の倍数とし、サポートされているメモリ範囲内に収める必要があります。たとえば、4 個の vCPU と 19 GB のメモリを備えたインスタンスのマシンタイプ名は g2-custom-4-19456 になります。

制限事項

A2 インスタンス

  • 容量をリクエストできるのは、A2 標準マシンタイプのサポートされている消費オプションを使用する場合のみです。
  • A2 標準マシンタイプを使用するインスタンスは、継続利用割引フレキシブル確約利用割引の対象外となります。
  • A2 標準マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
  • A2 標準マシンタイプは、Cascade Lake プラットフォームでのみ使用できます。
  • インスタンスが A2 標準マシンタイプを使用している場合は、ある A2 標準マシンタイプから別の A2 標準マシンタイプにのみ切り替えることができます。他のマシンタイプには変更できません。詳細については、アクセラレータ最適化インスタンスを変更するをご覧ください。
  • a2-megagpu-16g マシンタイプでは Windows オペレーティング システムを使用できません。Windows オペレーティング システムを使用する場合は、別の A2 標準マシンタイプを選択します。
  • A2 標準マシンタイプを使用する Windows インスタンスでは、アタッチされたローカル SSD のクイック フォーマットを行うことができません。これらのローカル SSD をフォーマットするには、diskpart ユーティリティを使用し、format fs=ntfs label=tmpfs を指定して完全フォーマットを行う必要があります。
  • A2 標準マシンタイプは、単一テナンシーをサポートしません。

G2 インスタンス

  • 容量をリクエストできるのは、G2 マシンタイプのサポートされている使用オプションを使用する場合のみです。
  • G2 マシンタイプを使用するインスタンスは、継続利用割引フレキシブル確約利用割引の対象外となります。
  • G2 マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
  • G2 マシンタイプは、Cascade Lake プラットフォームでのみ使用できます。
  • 標準 Persistent Disk(pd-standard)は、G2 マシンタイプを使用するインスタンスではサポートされていません。サポートされているディスクタイプについては、G2 でサポートされているディスクタイプをご覧ください。
  • G2 マシンタイプを使用するインスタンスでマルチインスタンス GPU を作成することはできません。
  • G2 インスタンスのマシンタイプを変更する必要がある場合は、アクセラレータ最適化インスタンスを変更するをご覧ください。
  • G2 マシンタイプを使用するインスタンスのブートディスクとして Deep Learning VM Image を使用することはできません。
  • Container-Optimized OS の現在のデフォルト ドライバは、G2 マシンタイプで実行される L4 GPU をサポートしていません。また、Container-Optimized OS は特定のドライバセットのみをサポートしています。G2 マシンタイプで Container-Optimized OS を使用する場合は、次の点に注意してください。
    • 推奨される最小の NVIDIA ドライバ バージョン 525.60.13 以降をサポートする Container-Optimized OS のバージョンを使用します。詳細については、Container-Optimized OS のリリースノートをご覧ください。
    • ドライバをインストールするときに、L4 GPU で動作する最新の最新バージョンを指定します。 例: sudo cos-extensions install gpu -- -version=525.60.13
  • 次のシナリオでは、Google Cloud CLI または REST を使用して G2 インスタンスを作成する必要があります。
    • カスタムメモリ値を指定する必要があります。
    • 表示可能な CPU コアの数をカスタマイズする必要があります。

G4 インスタンス

  • 容量をリクエストできるのは、G4 マシンタイプのサポートされている使用オプションを使用する場合のみです。
  • G4 マシンタイプを使用するインスタンスは、継続利用割引フレキシブル確約利用割引の対象外となります。
  • G4 マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
  • G4 マシンタイプを使用するインスタンスでは、Persistent Disk(リージョンまたはゾーン)を使用できません。
  • G4 マシンタイプは、AMD EPYC Turin 第 5 世代プラットフォームでのみ使用できます。
  • G4 マシンタイプを使用する Confidential VM インスタンスは作成できません。
  • 単一テナントノードに G4 インスタンスを作成することはできません。
  • g4-standard-384 インスタンスでは Windows オペレーティング システムを使用できません。

N1 汎用インスタンス

このセクションでは、N1 汎用マシンで GPU を追加、変更、削除する方法について説明します。

既存のインスタンスに対して GPU を追加、変更または削除するプロセスの概要は次のとおりです。

  1. インスタンスのブートディスク サイズが 40 GB 以上であることを確認します。
  2. インスタンスを停止します。
  3. GPU を追加、変更、削除します。

    N1 インスタンスに GPU がアタッチされていない場合は、次の手順を完了する必要があります。

    1. この変更のためにインスタンスを準備します。
    2. インスタンスのホスト メンテナンス設定を変更します。GPU を使用するインスタンスは、特定のハードウェア デバイスに割り当てられているため、ライブ マイグレーションができません。詳しくは、GPU の制限をご覧ください。
    3. マシンタイプを変更します。GPU は、一部の N1 マシンタイプでのみサポートされます。
    4. インスタンスに GPU ドライバをインストールして、システムで GPU デバイスを使用できるようにします。

インスタンスを準備する

GPU をインスタンスに追加すると、ネットワーク インターフェースの順序が変更される可能性があります。

Compute Engine のほとんどの公開イメージには永続的なネットワーク インターフェース名がなく、新しい順序に合わせて調整されます。

ただし、SLES またはカスタム イメージを使用している場合は、システム設定を更新して、ネットワーク インターフェースが維持されないようにする必要があります。ネットワーク インターフェースが維持されないようにするには、インスタンスで次のコマンドを実行します。

 rm /etc/udev/rules.d/70-persistent-net.rules 

既存のインスタンスで GPU を追加するか GPU タイプを変更する

このセクションでは、既存の N1 汎用インスタンスに GPU を追加する、または GPU のタイプを変更する方法について説明します。この手順は、次の GPU タイプをサポートしています。

NVIDIA GPU:

  • NVIDIA T4: nvidia-tesla-t4
  • NVIDIA P4: nvidia-tesla-p4
  • NVIDIA P100: nvidia-tesla-p100
  • NVIDIA V100: nvidia-tesla-v100

NVIDIA RTX 仮想ワークステーション(vWS)(旧称 NVIDIA GRID):

  • NVIDIA T4 仮想ワークステーション: nvidia-tesla-t4-vws
  • NVIDIA P4 仮想ワークステーション: nvidia-tesla-p4-vws
  • NVIDIA P100 仮想ワークステーション: nvidia-tesla-p100-vws

    これらの仮想ワークステーションの場合、NVIDIA RTX 仮想ワークステーション(vWS)ライセンスがインスタンスに自動的に追加されます。

コンソール

GPU を追加する、または GPU タイプを変更するには、次の手順を完了します。

  1. インスタンス上のすべての重要なアプリケーションが停止していることを確認します。

  2. Google Cloud コンソールで [VM インスタンス] ページに移動して、インスタンスのリストを表示します。

    [VM インスタンス] に移動

  3. 更新するインスタンスの名前をクリックします。[詳細] ページが開きます。

  4. [詳細] ページから次の手順を完了します。

    1. インスタンスが実行されている場合は、 [停止] をクリックします。[停止] オプションがない場合は、 [その他の操作] > [停止] をクリックします。

    2. [ 編集] をクリックします。

    3. [マシンの構成] セクションで、[GPU] マシン ファミリーを選択し、次の操作を行います。

      1. [GPU のタイプ] リストで、N1 VM でサポートされている GPU タイプを選択するか、このタイプに切り替えます。

      2. [GPU の数] リストで、GPU の数を選択します。

      3. GPU モデルがグラフィック ワークロード用の NVIDIA RTX 仮想ワークステーション(vWS)をサポートし、このインスタンスでグラフィックを多用するワークロードを実行する予定がある場合は、[仮想ワークステーション(NVIDIA GRID)を有効にする] を選択します。

    4. 以前にインスタンスに GPU がアタッチされていない場合は、次の操作を行います。

      1. インスタンスが共有コア マシンタイプを使用している場合は、マシンタイプを変更する必要があります。[マシンタイプ] リストで、プリセットの N1 マシンタイプのいずれかを選択します。または、カスタム マシンタイプを指定することもできます。

      2. [管理] セクションで、次のことを完了します。

        1. [ホスト メンテナンス時] リストで、[VM インスタンスを終了] を選択します。GPU がアタッチされたインスタンスはライブ マイグレーションできません。GPU ホストイベントの処理をご覧ください。

        2. [自動再起動] リストで [オン] を選択します。

    5. 変更を適用するには、[保存] をクリックします。

    6. VM を再起動するには、[開始 / 再開] をクリックします。

REST

API を通じてインスタンスを停止し、インスタンスの構成を変更すると、インスタンスに GPU を追加または変更できます。

  1. インスタンス上のすべての重要なアプリケーションが停止していることを確認し、インスタンスを停止する POST コマンドを作成して、GPU が使用可能なホストシステムにインスタンスが移動できるようにします。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    
  2. インスタンスに GPU がアタッチされていない場合は、次の手順を完了します。

    1. インスタンスに追加する GPU タイプを指定します。GET リクエストを送信して、特定のゾーンのプロジェクトで使用できる GPU タイプをリストできます。

      GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes
      
    2. インスタンスのマシンタイプが共有コア マシンタイプである場合は、1 つ以上の vCPU を搭載されたマシンタイプに変更する必要があります。共有コア マシンタイプのインスタンスにアクセラレータを追加することはできません。

    3. インスタンスのスケジューリング オプションを設定する POST コマンドを作成します。

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      
      {
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": true
      }
      
  3. インスタンスにアタッチされた GPU を追加または変更する POST リクエストを作成します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineResources
    
        {
         "guestAccelerators": [
          {
            "acceleratorCount": ACCELERATOR_COUNT,
            "acceleratorType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
          }
         ]
        }
    
  4. インスタンスを起動します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID。
    • VM_NAME: GPU を追加するインスタンスの名前。
    • ZONE: インスタンスが配置されているゾーン。
    • ACCELERATOR_COUNT: インスタンスにアタッチする GPU の数。インスタンスのマシンタイプに基づく GPU 制限のリストについては、Compute Engine の GPU をご覧ください。
    • ACCELERATOR_TYPE: アタッチするまたは切り替える先の GPU モデル。このインスタンスでグラフィックを多用するワークロードを実行する場合は、仮想ワークステーション モデルのいずれかを使用します。

      次のいずれかの値を選択します。

      • NVIDIA GPU:

        • NVIDIA T4: nvidia-tesla-t4
        • NVIDIA P4: nvidia-tesla-p4
        • NVIDIA P100: nvidia-tesla-p100
        • NVIDIA V100: nvidia-tesla-v100
      • NVIDIA RTX 仮想ワークステーション(vWS)(旧称 NVIDIA GRID):

        • NVIDIA T4 仮想ワークステーション: nvidia-tesla-t4-vws
        • NVIDIA P4 仮想ワークステーション: nvidia-tesla-p4-vws
        • NVIDIA P100 仮想ワークステーション: nvidia-tesla-p100-vws

        これらの仮想ワークステーションの場合、NVIDIA RTX 仮想ワークステーション(vWS)ライセンスがインスタンスに自動的に追加されます。

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

ドライバをインストールするには、次のいずれかのオプションを選択します。

GPU を削除する

このセクションでは、既存の N1 汎用インスタンスから次の GPU タイプを削除する方法について説明します。

NVIDIA GPU:

  • NVIDIA T4: nvidia-tesla-t4
  • NVIDIA P4: nvidia-tesla-p4
  • NVIDIA P100: nvidia-tesla-p100
  • NVIDIA V100: nvidia-tesla-v100

NVIDIA RTX 仮想ワークステーション(vWS)(旧称 NVIDIA GRID):

  • NVIDIA T4 仮想ワークステーション: nvidia-tesla-t4-vws
  • NVIDIA P4 仮想ワークステーション: nvidia-tesla-p4-vws
  • NVIDIA P100 仮想ワークステーション: nvidia-tesla-p100-vws

    これらの仮想ワークステーションの場合、NVIDIA RTX 仮想ワークステーション(vWS)ライセンスがインスタンスに自動的に追加されます。

Google Cloud console を使用して、既存のインスタンスから GPU を削除できます。GPU を削除するには、次の手順を完了します。

  1. インスタンス上のすべての重要なアプリケーションが停止していることを確認します。

  2. Google Cloud コンソールで [VM インスタンス] ページに移動して、インスタンスのリストを表示します。

    [VM インスタンス] に移動

  3. GPU を削除するインスタンスの名前をクリックします。[詳細] ページが開きます。

  4. [詳細] ページから次の手順を完了します。

    1. インスタンスが実行されている場合は、 [停止] をクリックしてインスタンスを停止します。[停止] オプションがない場合は、 [その他の操作] > [停止] をクリックします。

    2. ツールバーで [編集] をクリックします。

    3. [マシンの構成] セクションで、[汎用] マシン ファミリーを選択し、次のようにします。

      1. アタッチされている GPU を表示するには、[詳細構成] を展開します。

      2. [GPU] セクションで、次のいずれかのオプションを使用して GPU を削除します。

        • 一部の GPU を削除するには、[GPU の数] リストで新しい数を選択します。

        • すべての GPU を削除するには、 [GPU を削除] をクリックします。

    4. 省略可: インスタンスのホスト メンテナンス ポリシーの設定を変更します。GPU を使用するインスタンスでは、ホスト メンテナンス ポリシーを [VM インスタンスを終了] に設定する必要があります。ただし、すべての GPU を削除した場合は、ホスト メンテナンス中にこのインスタンスをライブ マイグレーションするオプションもあります。詳細については、VM ホスト メンテナンス ポリシーの設定をご覧ください。

    5. 変更を適用するには、[保存] をクリックします。

    6. インスタンスを再起動するには、[開始/再開] をクリックします。

次のステップ