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 に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
アクセラレータ最適化 VM
各アクセラレータ最適化マシンタイプには、特定モデルの NVIDIA GPU が割り当てられています。
- A3 アクセラレータ最適化マシンタイプには、NVIDIA H100 80 GB GPU がアタッチされます。次のオプションが用意されています。
- A3 Standard(
a3-highgpu-8g
): このマシンタイプには H100 80 GB GPU が割り当てられています。 - A3 Mega(
a3-megagpu-8g
): このマシンタイプには、H100 80 GB Mega GPU が割り当てられています。
- A3 Standard(
- A2 アクセラレータ最適化マシンタイプには、NVIDIA A100 GPU がアタッチされます。次のオプションが用意されています。
- A2 Standard(
a2-highgpu-*
、a2-megagpu-*
): これらのマシンタイプには A100 40 GB GPU がアタッチされています。 - A2 Ultra(
a2-ultragpu-*
): これらのマシンタイプには A100 80 GB GPU がアタッチされています。
- A2 Standard(
- G2 アクセラレータ最適化マシンタイプ(
g2-standard-*
)には、NVIDIA L4 GPU が割り当てられています。
アクセラレータ最適化 VM は次のように変更できます。
A2 Ultra VM とすべての A3 VM の場合、マシンタイプを変更することはできません。VM にこれらのマシンタイプを使用しており、マシンタイプを変更する必要がある場合は、新しい VM を作成します。
A2 標準 VM の場合、ある A2 標準マシンタイプから別の A2 標準マシンタイプに切り替えることで、GPU 数を変更できます。
G2 VM では、次のことができます。
- GPU 数を変更するには、ある G2 マシンタイプから別の G2 マシンタイプに切り替えます。
- G2 マシンタイプから、汎用やコンピューティング最適化などの別のマシン ファミリーのマシンタイプに切り替えることができます。VM のマシンタイプを編集するをご覧ください。
アクセラレータ最適化マシンタイプから GPU を削除することはできません。GPU が不要になった場合は、次の操作を行います。
- すべての A3 または A2 VM で、新しい VM を作成します。
- G2 VM の場合、別のマシン ファミリーのマシンタイプに変更します。
GPU 数を変更する
A2 標準または G2 アクセラレータ最適化 VM の GPU 数は、Google Cloud コンソールまたは REST を使用して変更できます。
コンソール
VM を停止して VM 構成を編集すると、VM の GPU の数を変更できます。
VM 上のすべての重要なアプリケーションが停止していることを確認します。
Google Cloud コンソールで [VM インスタンス] ページに移動して、VM のリストを表示します。
GPU の数を変更する VM の名前をクリックします。[詳細] ページが開きます。
[詳細] ページから次の手順を完了します。
VM が実行されている場合は、ツールバーで
[停止] をクリックします。そして、VM が停止するまで待ちます。ツールバーで
[編集] をクリックします。[マシンの構成] セクションで、[GPU] マシン ファミリーを選択し、次の操作を行います。
[GPU の数] リストで、GPU 数を増減します。
変更を適用するには、[保存] をクリックします。
VM を再起動するには、[開始 / 再開] をクリックします。
REST
VM を停止してマシンタイプを変更すると、VM 上の GPU の数を変更できます。アクセラレータ最適化マシンタイプごとに、特定の数の GPU がアタッチされています。マシンタイプを変更すると、VM にアタッチされている GPU の数が調整されます。
VM 上のすべての重要なアプリケーションが停止していることを確認し、VM を停止する POST コマンドを作成して、GPU が使用可能なホストシステムに VM が移動できるようにします。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
VM が停止したら、マシンタイプを変更する POST リクエストを作成します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineType { machineType: "zones/ZONE/machineTypes/MACHINE_TYPE" }
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
: 使用するマシンタイプ。以下のいずれかにする必要があります。
制限事項
A2 VM
- A2 標準マシンタイプを使用する VM は、継続利用割引とフレキシブル確約利用割引の対象外となります。
- A2 標準マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
- A2 標準マシンタイプを使用する VM では、リージョン Persistent Disk を使用できません。
- A2 標準マシンタイプは、Cascade Lake プラットフォームでのみ使用できます。
- VM が A2 標準マシンタイプを使用している場合は、ある A2 標準マシンタイプから別の A2 標準マシンタイプにのみ切り替えることができます。他のマシンタイプには変更できません。詳細については、アクセラレータ最適化 VM を変更するをご覧ください。
- <codea2-megagpu-16g< code="" dir="ltr" translate="no">A2 標準マシンタイプでは Windows オペレーティング システムを使用できません。Windows オペレーティング システムを使用する場合は、別の A2 標準マシンタイプを選択する必要があります。</codea2-megagpu-16g<>
- A2 標準マシンタイプを使用する Windows VM では、アタッチされたローカル SSD のクイック フォーマットを行うことができません。これらのローカル SSD をフォーマットするには、diskpart ユーティリティを使用し、
format fs=ntfs label=tmpfs
を指定して完全フォーマットを行う必要があります。 - A2 標準マシンタイプは、単一テナンシーをサポートしません。
G2 VM
- 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
。
- 推奨される最小の NVIDIA ドライバ バージョン
- 次のシナリオでは、Google Cloud CLI または REST を使用して G2 VM を作成する必要があります。
- カスタムメモリ値を指定する必要があります。
- 表示可能な CPU コアの数をカスタマイズする必要があります。
N1 汎用 VM
このセクションでは、N1 汎用マシンで GPU を追加、変更、削除する方法について説明します。
既存の VM に対して GPU を追加、変更または削除するプロセスの概要は次のとおりです。
- VM のブートディスク サイズが 40 GB 以上であることを確認します。
- VM を停止します。
GPU を追加、変更、削除します。
以前に VM に GPU がアタッチされていない場合は、次の手順を完了する必要があります。
- この変更のために VM を準備します。
- VM のホスト メンテナンス設定を変更します。GPU を使用する VM は、特定のハードウェア デバイスに割り当てられているため、ライブ マイグレーションができません。詳しくは、GPU の制限をご覧ください。
- マシンタイプを変更します。GPU は、一部のマシンタイプでのみサポートされます。
- 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 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 タイプを変更するには、次の手順を完了します。
VM 上のすべての重要なアプリケーションが停止していることを確認します。
Google Cloud コンソールで [VM インスタンス] ページに移動して、VM のリストを表示します。
更新する VM の名前をクリックします。[詳細] ページが開きます。
[詳細] ページから次の手順を完了します。
VM が実行されている場合は、ツールバーで
[停止] をクリックします。そして、VM が停止するまで待ちます。ツールバーで
[編集] をクリックします。[マシンの構成] セクションで、[GPU] マシン ファミリーを選択し、次の操作を行います。
[GPU のタイプ] リストで、N1 VM でサポートされている GPU タイプを選択するか、このタイプに切り替えます。
[GPU の数] リストで、GPU の数を選択します。
GPU モデルがグラフィック ワークロード用の NVIDIA RTX 仮想ワークステーション(vWS)をサポートし、この VM でグラフィックを多用するワークロードを実行する予定がある場合は、[仮想ワークステーション(NVIDIA GRID)を有効にする] を選択します。
以前に VM に GPU がアタッチされていない場合は、次のことを完了します。
VM が共有コア マシンタイプを使用している場合は、マシンタイプを変更する必要があります。[マシンタイプ] リストで、プリセットの N1 マシンタイプのいずれかを選択します。または、カスタム マシンタイプを指定することもできます。
[管理] セクションで、次のことを完了します。
[ホスト メンテナンス時] リストで [VM インスタンスを終了] を選択します。GPU をアタッチした VM はライブ マイグレーションできません。GPU ホストイベントの処理をご覧ください。
[自動再起動] リストで [オン] を選択します。
変更を適用するには、[保存] をクリックします。
VM を再起動するには、[開始 / 再開] をクリックします。
REST
API を通じて VM を停止し、VM の構成を変更すると、VM に GPU を追加または変更できます。
VM 上のすべての重要なアプリケーションが停止していることを確認し、VM を停止する POST コマンドを作成して、GPU が使用可能なホストシステムに VM が移動できるようにします。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
以前に VM に GPU がアタッチされていない場合は、次の手順を完了します。
VM に追加する GPU タイプを特定します。
GET
リクエストを送信して、特定のゾーンのプロジェクトで使用できる GPU タイプをリストできます。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes
VM のマシンタイプが共有コア マシンタイプである場合は、1 つ以上の vCPU が搭載されたマシンタイプに変更する必要があります。共有コア マシンタイプのインスタンスにアクセラレータを追加することはできません。
VM のスケジューリング オプションを設定する POST コマンドを作成します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "onHostMaintenance": "TERMINATE", "automaticRestart": true }
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" } ] }
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 T4:
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 に自動的に追加されます。
- NVIDIA T4 仮想ワークステーション:
ドライバをインストールする
ドライバをインストールするには、次のいずれかのオプションを選択します。
- ゲームや可視化など、グラフィックを多用するワークロードを実行する場合は、NVIDIA RTX 仮想ワークステーション用のドライバをインストールします。
- ほとんどのワークロードでは、GPU ドライバをインストールします。
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 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 を削除するには、次の手順を完了します。
VM 上のすべての重要なアプリケーションが停止していることを確認します。
Google Cloud コンソールで [VM インスタンス] ページに移動して、VM のリストを表示します。
GPU を削除する VM の名前をクリックします。[詳細] ページが開きます。
[詳細] ページから次の手順を完了します。
VM が実行されている場合は、ツールバーで
[停止] をクリックします。そして、VM が停止するまで待ちます。ツールバーで
[編集] をクリックします。[マシンの構成] セクションで、[汎用] マシン ファミリーを選択し、次のようにします。
アタッチされている GPU を表示するには、[詳細構成] を展開します。
[GPU] セクションで、次のいずれかのオプションを使用して GPU を削除します。
一部の GPU を削除するには、[GPU の数] リストで新しい数を選択します。
すべての GPU を削除するには、
[GPU を削除] をクリックします。
省略可: VM ホスト メンテナンス ポリシーの設定を変更します。GPU のある VM では、ホスト メンテナンス ポリシーを「VM インスタンスを終了する」に設定する必要があります。ただし、すべての GPU を削除した場合は、ホスト メンテナンス中にこの VM をライブ マイグレーションするオプションもあります。詳細については、VM ホスト メンテナンス ポリシーの設定をご覧ください。
変更を適用するには、[保存] をクリックします。
VM を再起動するには、[開始 / 再開] をクリックします。
次のステップ
- GPU プラットフォームの詳細を学習する。
- ローカル SSD をインスタンスに追加する。アプリで高性能のストレージが必要な場合に、ローカル SSD デバイスを GPU と効率的に組み合わせる。
- インスタンス テンプレートを使用して GPU インスタンスのグループを作成する。
- GPU のパフォーマンスをモニタリングするには、GPU パフォーマンスのモニタリングをご覧ください。
- ネットワーク パフォーマンスを改善するには、より高いネットワーク帯域幅を使用するをご覧ください。
- GPU ホスト メンテナンスを処理するには、GPU ホストイベントの処理をご覧ください。
- チュートリアル TensorRT5 および NVIDIA T4 GPU を使用した TensorFlow 推論の大規模ワークロードの実行を試す。