Compute Engine で特定のワークロードを高速化するには、GPU がアタッチされたアクセラレータ最適化 VM をデプロイするか、N1 汎用 VM に GPU をアタッチします。
このドキュメントでは、Compute Engine で実行される GPU の機能と制限事項について説明します。
GPU とマシンシリーズ
GPU は、N1 汎用マシンとアクセラレータ最適化(A3、A2 および G2)マシンシリーズでサポートされています。N1 マシンタイプを使用する VM の場合は、VM の作成中または作成後に GPU を VM に接続します。A3、A2 または G2 マシンタイプを使用する VM の場合は、VM を作成すると、GPU が自動的に接続されます。GPU は他のマシンシリーズでは使用できません。
アクセラレータ最適化マシンシリーズ
���アクセラレータ最適化マシンタイプには、特定モデルの 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 がアタッチされます。
詳細については、アクセラレータ最適化マシンシリーズをご覧ください。
N1 汎用マシンシリーズ
他のすべての GPU タイプには、N1 共有コア(f1-micro
および g1-small
)を除くほとんどの N1 マシンタイプを使用できます。
このマシンシリーズでは、事前定義されたマシンタイプまたはカスタム マシンタイプのいずれかを使用できます。
プリエンプティブル VM インスタンスの GPU
より低価格なスポット価格で GPU をプリエンプティブル VM インスタンスに追加できます。プリエンプティブル インスタンスに接続された GPU は、通常の GPU と同様に動作しますが、インスタンスの存続期間中にのみ有効になります。GPU を使用したプリエンプティブル インスタンスは、すべてのプリエンプティブル インスタンスと同じプリエンプション処理に従います。
プリエンプティブル インスタンスの GPU に使用する専用の Preemptible GPU
割り当てをリクエストすることを検討してください。詳細については、プリエンプティブル VM インスタンスの割り当てをご覧ください。
メンテナンス イベント中には、GPU を使用したプリエンプティブル インスタンスはデフォルトでプリエンプトされ、自動的に再起動することはできません。プリエンプトされた後でインスタンスを再作成する場合には、マネージド インスタンス グループを使用します。マネージド インスタンス グループは、vCPU、メモリ、GPU リソースが利用可能であれば、インスタンスを再作成します。
インスタンスがプリエンプトされる前に警告を受けるようにする場合、またはメンテナンス イベントの終了後にインスタンスが自動的に再起動するように構成する場合は、GPU を使用した標準インスタンスを使用します。GPU を使用した標準インスタンスの場合は、Google からプリエンプションの 1 時間前に通知が送信されます。
インスタンスの実行が開始されてから 1 分以内にインスタンスがプリエンプトされた場合、Compute Engine では GPU に対する課金は行いません。
標準インスタンスを自動的に再起動する手順については、インスタンスのオプションの更新をご覧ください。
GPU をアタッチしたプリエンプティブル インスタンスの作成方法については、GPU が接続された VM を作成するをご覧ください。
実行時間が事前に定義されている VM 上の GPU
デフォルトの標準プロビジョニング モデル(標準 VM)を使用する VM のリソースは、通常、プリエンプティブルな数量に基づく割り当てを使用できません。この割り当ては、一時的なワークロードを対象としており、通常はより利用しやすいものです。プロジェクトにプリエンプティブル割り当てがなく、プリエンプティブル割り当てをリクエストしたことがない場合、そのプロジェクト内のすべての VM は標準割り当てを使用します。
ただし、プリエンプティブルな数量に基づく割り当てをリクエストすると、次のすべての条件を満たす標準 VM は、プリエンプティブルな数量に基づく割り当てのみ使用できます。
- VM に GPU が接続されている。これは、GPU が接続された N1 VM またはアクセラレータ最適化 VM のいずれかです。
- VM は、事前に定義された 7 日以下の実行時間の後に自動的に削除されるように、次のいずれかの方法で構成されている。
maxRunDuration
フィールドまたはterminationTime
フィールドを使用する。詳細については、VM の実行時間を制限するまたは MIG 内の VM の実行時間を制限するをご覧ください。requestedRunDuration
フィールドを使用する(マネージド インスタンス グループ(MIG)でのみ使用可能)。詳細については、MIG のサイズ変更リクエストについてをご覧ください。
- VM が予約を使用できない。詳細については、予約を使用せずに VM を作成するをご覧ください。
このようなワークロードにプリエンプティブルな数量に基づく割り当てを使用することで、標準 VM の連続実行時間とプリエンプティブルな数量に基づく割り当ての取得可能性の向上というメリットを両方得ることができます。
使用されている割り当てに関係なく、標準 VM は Spot VM の料金の対象ではなく、プリエンプションの対象にもなりません。
詳細については、プリエンプティブル割り当てをご覧ください。
GPU と Confidential VMs
Confidential VMs インスタンスに GPU をアタッチすることはできません。Confidential VMs の詳細については、Confidential VMs の概要をご覧ください。
GPU とブロック ストレージ
GPU プラットフォームで VM を作成するときに、VM に永続的ブロック ストレージまたは一時的なブロック ストレージを追加できます。一時的でないデータを保存するには、Hyperdisk ML や Persistent Disk などの永続ブロック ストレージを使用します。これらのディスクは VM のライフサイクルから独立しているためです。永続ストレージ上のデータは、VM を削除した後も保持できます。
一時的なスクラッチ ストレージまたはキャッシュの場合は、VM の作成時にローカル SSD ディスクを追加して、一時的なブロック ストレージを使用します。
Persistent Disk ボリュームと Hyperdisk ボリュームを使用する永続ブロック ストレージ
GPU 対応 VM では、Persistent Disk ボリュームと Hyperdisk ML ボリュームをアタッチできます。
ML のトレーニングとサービング ワークロードには、Hyperdisk ML ボリュームの使用をおすすめします。これにより、スループットの向上とデータ読み込み時間の短縮が実現します。GPU アイドル時間が短くなるため、Hyperdisk ML は ML ワークロードにとって費用対効果の高いオプションとなります。
Hyperdisk ML ボリュームは読み取り専用のマルチアタッチをサポートしているため、同じディスクを複数の VM にアタッチして、各 VM が同じデータにアクセスできるようにできます。
GPU をサポートするマシンシリーズでサポートされているディスクタイプの詳細については、N1 とアクセラレータ最適化 マシンシリーズのページをご覧ください。
ローカル SSD ディスク
ローカル SSD ディスクは、キャッシュ、データ処理、その他の一時的なデータ用の高速な一時ストレージです。ローカル SSD ディスクが高速なストレージである理由は、VM をホストするサーバーに物理的にアタッチされているためです。一時的である理由は、VM を再起動するとデータが失われるためです。
永続性に関する厳しい要件を持つデータをローカル SSD ディスクに保存しないでください。一時的でないデータを保存するには、代わりに永続ストレージを使用します。
GPU が搭載された VM を手動で停止すると、ローカル SSD のデータを保持できますが、一定の制限があります。詳細については、ローカル SSD のドキュメントをご覧ください。
GPU タイプでのローカル SSD のリージョン サポートについては、GPU リージョンとゾーンごとのローカル SSD の可用性をご覧ください。
GPU とホストのメンテナンス
GPU がアタッチされている VM は、Compute Engine が VM でメンテナンス イベントを実行すると、常に停止します。VM にローカル SSD ディスクがアタッチされている場合、VM の停止後にローカル SSD データが失われます。
メンテナンス イベントの処理については、GPU ホスト メンテナンス イベントの処理をご覧ください。
GPU の料金
GPU を接続したほとんどの VM には、vCPU と同様の継続利用割引が適用されます。仮想��ークステーションの GPU を������すると、NVIDIA RTX 仮想ワークステーションのライセンスが VM に追加されます。
GPU の時間単位および月単位の料金については、GPU の料金ページをご覧ください。
確約利用割引で GPU を予約する
特定のゾーンの GPU リソースを予約するには、Compute Engine ゾーンリソースの予約をご覧ください。
特定のゾーンで GPU の確約利用割引を受けるには、GPU のリソースベースのコミットメントを購入して、一致する GPU を指定する予約をコミットメントに関連付ける必要があります。詳細については、リソースベースのコミットメントに予約を関連付けるをご覧ください。
GPU の制限事項
GPU を接続した VM の場合、次の制限事項が適用されます。
GPU は、汎用 N1 またはアクセラレータ最適化の A3、A2 および G2 マシンタイプでのみサポートされています。
Compute Engine のシステムとユーザーを保護するため、新しいプロジェクトにはグローバル GPU 割り当てが設定されます。この割り当ては、サポート対象のすべてのゾーンで作成できる GPU の総数を制限するものです。GPU 割り当てをリクエストするときは、各リージョンで作成する GPU モデルに対する割り当てに加え、すべてのゾーンにおけるすべてのタイプの GPU の総数に対するグローバル割り当てもリクエストする必要があります。
GPU が搭載されている VM には、VM に追加する GPU ごとに、vCPU の最大数が設定されます。各種 GPU 構成で使用可能な vCPU とメモリの範囲を確認するには、GPU リストをご覧ください。
GPU が正しく機能するにはデバイス ドライバが必要です。Compute Engine で動作する NVIDIA GPU では、最小限のドライバ バージョンを使用する必要があります。ドライバ バージョンの詳細については、必要な NVIDIA ドライバのバージョンをご覧ください。
特定の接続済み GPU モデルを使用する VM は、その接続された GPU モデルが一般提供されており、同じリージョン��の複数のゾーンでサポートされている場合にのみ、Compute Engine SLA の対象となります。次のゾーンの GPU モデルは、Compute Engine SLA の対象外となります。
- NVIDIA H100 80 GB Mega:
asia-northeast1-b
australia-southeast1-c
europe-west2-b
us-east5-a
us-west4-a
- NVIDIA H100 80 GB:
asia-northeast1-b
europe-west1-b
us-east5-a
us-west4-a
- NVIDIA L4:
asia-northeast1-b
northamerica-northeast2-a
- NVIDIA A100 80 GB:
asia-southeast1-c
us-east4-c
us-east5-b
- NVIDIA A100 40 GB:
us-east1-b
us-west1-b
us-west3-b
us-west4-b
- NVIDIA T4:
europe-west3-b
southamerica-east1-c
us-west3-b
- NVIDIA V100:
asia-east1-c
us-east1-c
- NVIDIA P100:
australia-southeast1-c
europe-west4-a
- NVIDIA H100 80 GB Mega:
Compute Engine では、GPU あたり 1 人の同時利用ユーザーがサポートされています。
次のステップ
- GPU を接続した VM の作成方法を学習する。
- GPU の追加または削除方法を学習する。