GPU の追加または削除


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

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

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

始める前に

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

    このページのサンプルをどのように使うかに応じて、タブを選択してください。

    コンソール

    Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。

    REST

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

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

      gcloud init

アクセラレータ最適化 VM

各アクセラレータ最適化マシンタイプには、特定モデルの NVIDIA GPU が接続されています。

  • A3 アクセラレータ最適化マシンタイプには、NVIDIA H100 80 GB GPU が接続されています。
  • A2 アクセラレータ最適化マシンタイプには、NVIDIA A100 GPU がアタッチされています。これらは、A100 40 GB と A100 80 GB の両方のオプションで利用できます。
  • G2 アクセラレータ最適化マシンタイプには、NVIDIA L4 GPU がアタッチされています。

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

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

  • A3 標準 VM と A2 Ultra VM の場合、マシンタイプは変更できません。VM に A3 標準または A2 Ultra マシンタイプを使用していて、マシンタイプを変更する必要がある場合は、新しい VM を作成します。

  • G2 標準 VM では、次のことができます。

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

    • A2 標準 VM または Ultra VM の場合は、新しい VM を作成します。
    • G2 VM の場合、別のマシン ファミリーのマシンタイプに変更します。

GPU 数を変更する

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

コンソール

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

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

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

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

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

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

    1. VM が実行されている場合は、ツールバーで [停止] をクリックします。そして、VM が停止するまで待ちます。

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

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

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

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

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

REST

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

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

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

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

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

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

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

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

制限事項

A2 標準

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

A2 Ultra

  • A2 Ultra マシンタイプを使用する VM は、継続利用割引とフレキシブル確約利用割引を受けることができません。
  • A2 Ultra マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
  • A2 Ultra マシンタイプを使用する VM では、リージョン Persistent Disk を使用できません。
  • A2 Ultra マシンタイプは、Cascade Lake プラットフォームでのみ使用できます。
  • VM が A2 Ultra マシンタイプを使用する場合、マシンタイプは変更できません。別の A2 Ultra マシンタイプやその他のマシンタイプを使用する必要がある場合は、新しい VM を作成する必要があります。
  • 他のマシンタイプを A2 Ultra マシンタイプに変更することはできません。A2 Ultra マシンタイプを使用する VM を作成する必要がある場合は、新しい VM を作成する必要があります。
  • A2 Ultra マシンタイプを使用する Windows VM では、アタッチされたローカル SSD をクイック フォーマットできません。これらのローカル SSD をフォーマットするには、diskpart ユーティリティを使用し、format fs=ntfs label=tmpfs を指定して、完全フォーマットする必要があります。

G2 標準

  • G2 標準マシンタイプを使用する VM は、継続利用割引とフレキシブル確約利用割引を受けることができません。
  • G2 標準マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
  • G2 標準マシンタイプを使用する VM では、リージョン Persistent Disk を使用できません。
  • G2 標準マシンタイプは、Cascade Lake プラットフォームでのみ使用できます。
  • 標準 Persistent Disk(pd-standard)は、G2 標準マシンタイプを使用する VM ではサポートされません。サポートされているディスクタイプについては、G2 でサポートされているディスクタイプをご覧ください。
  • G2 標準マシンタイプでマルチインスタンス GPU を作成することはできません。
  • G2 VM のマシンタイプを変更する必要がある場合は、アクセラレータ最適化 VM を変更するをご覧ください。
  • G2 標準マシンタイプを使用する VM のブートディスクとして 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 VM を作成する必要があります。
    • カスタムメモリ値を指定する必要があります。
    • 表示可能な CPU コアの数をカスタマイズする必要があります。

N1 汎用 VM

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

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

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

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

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

VM を準備する

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

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

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

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

既存の VM で GPU を追加する、または GPU タイプを変更する

このセクションでは、既存の N1 汎用 VM に 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 K80: nvidia-tesla-k80NVIDIA K80 EOL をご覧ください。

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)ライセンスが VM に自動的に追加されます。

コンソール

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

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

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

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

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

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

    1. VM が実行されている場合は、ツールバーで [停止] をクリックします。そして、VM が停止するまで待ちます。

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

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

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

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

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

    4. 以前に VM に GPU がアタッチされていない場合は、次のことを完了します。

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

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

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

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

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

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

REST

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

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

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

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

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

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

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      
      {
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": true
      }
      
  3. VM にアタッチされた 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. VM を起動します。

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

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

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

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

      • NVIDIA GPU:

        • NVIDIA T4: nvidia-tesla-t4
        • NVIDIA P4: nvidia-tesla-p4
        • NVIDIA P100: nvidia-tesla-p100
        • NVIDIA V100: nvidia-tesla-v100
        • NVIDIA K80: nvidia-tesla-k80NVIDIA K80 EOL をご覧ください。
      • 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)ライセンスが VM に自動的に追加されます。

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

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

GPU を削除する

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

NVIDIA GPU:

  • NVIDIA T4: nvidia-tesla-t4
  • NVIDIA P4: nvidia-tesla-p4
  • NVIDIA P100: nvidia-tesla-p100
  • NVIDIA V100: nvidia-tesla-v100
  • NVIDIA K80: nvidia-tesla-k80NVIDIA K80 EOL をご覧ください。

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)ライセンスが VM に自動的に追加されます。

Google Cloud コンソールを使用して、既存の VM からの GPU を削除できます。GPU を削除するには、次の手順を完了します。

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

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

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

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

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

    1. VM が実行されている場合は、ツールバーで [停止] をクリックします。そして、VM が停止するまで待ちます。

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

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

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

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

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

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

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

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

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

次のステップ