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 推論の大規模ワークロードの実行を試す。