Compute Engine の GPU

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

3D 表示、3D レンダリング、仮想アプリケーションなどのグラフィックを多用するワークロードが存在する場合、NVIDIA® GRID® テクノロジーを使用する仮想ワークステーションを作成できます。グラフィックを多用するアプリケーション用 GPU については、グラフィック ワークロード用 GPU をご覧ください。

このドキュメントでは、Compute Engine の GPU の概要について説明します。GPU の使用方法について詳しくは、次のリソースをご覧ください。

使ってみる

Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオで Compute Engine のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。

Compute Engine の無料トライアル

はじめに

Compute Engine では NVIDIA® GPU がパススルー モードでインスタンスに提供されるため、仮想マシン インスタンスで GPU と関連メモリを直接制御できます。

コンピューティング ワークロードの場合、GPU モデルは次の段階で利用できます。

  • NVIDIA® A100: 一般提供
  • NVIDIA® T4: nvidia-tesla-t4: 一般提供
  • NVIDIA® V100: nvidia-tesla-v100: 一般提供
  • NVIDIA® P100: nvidia-tesla-p100: 一般提供
  • NVIDIA® P4: nvidia-tesla-p4: 一般提供
  • NVIDIA® K80: nvidia-tesla-k80: 一般提供

グラフィック ワークロードの場合、GPU モデルは次の段階で利用できます。

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

仮想ワークステーション用 GPU については、グラフィック ワークロード用 GPU をご覧ください。

GPU を追加できるのは、事前定義されたマシンタイプまたはカスタム マシンタイプのインスタンスのみです。GPU は、共有コア マシンタイプメモリ最適化マシンタイプではサポートされません。

ローカル SSD を GPU に追加することもできます。GPU のタイプとリージョンごとのローカル SSD サポートの一覧については、GPU のリージョンとゾーンごとのローカル SSD の可用性をご覧ください。

料金

ほとんどの GPU デバイスには、vCPU と同様の継続利用割引が適用されます。GPU デバイスの時間単位の料金や月単位の料金については、GPU の料金ページをご覧ください。

GPU モデル

NVIDIA® A100 GPU

NVIDIA® A100 GPU を実行する場合は、アクセラレータ最適化(A2)マシンタイプを使用する必要があります。

各 A2 マシンタイプには、固定の GPU 数、vCPU 数、メモリサイズが設定されています。

GPU モデル マシンタイプ GPU GPU メモリ 利用可能な vCPU 数 利用可能なメモリ
NVIDIA® A100 a2-highgpu-1g 1 GPU 40 GB HBM2 12 vCPU 85 GB
a2-highgpu-2g 2 GPU 80 GB HBM2 24 vCPU 170 GB
a2-highgpu-4g 4 GPU 160 GB HBM2 48 vCPU 340 GB
a2-highgpu-8g 8 GPU 320 GB HBM2 96 vCPU 680 GB
a2-megagpu-16g 16 GPU 640 GB HBM2 96 vCPU 1,360 GB

利用可能なその他の NVIDIA® GPU モデル

GPU 数が少ない VM の場合は、vCPU の最大数に制限されます。一般的に、GPU の数が多いほど、vCPU 数が多くメモリサイズが大きいインスタンスを作成できます。

GPU モデル GPU GPU メモリ 利用可能な vCPU 数 利用可能なメモリ
NVIDIA® T4 1 GPU 16 GB GDDR6 1~24 vCPU 1~156 GB
2 GPU 32 GB GDDR6 1~48 vCPU 1~312 GB
4 GPU 64 GB GDDR6 1~96 vCPU 1~624 GB
NVIDIA® P4 1 GPU 8 GB GDDR5 1~24 vCPU 1~156 GB
2 GPU 16 GB GDDR5 1~48 vCPU 1~312 GB
4 GPU 32 GB GDDR5 1~96 vCPU 1~624 GB
NVIDIA® V100 1 GPU 16 GB HBM2 1~12 vCPU 1~78 GB
2 GPU 32 GB HBM2 1~24 vCPU 1~156 GB
4 GPU 64 GB HBM2 1~48 vCPU 1~312 GB
8 GPU 128 GB HBM2 1~96 vCPU 1~624 GB
NVIDIA® P100 1 GPU 16 GB HBM2 1~16 vCPU 1~104 GB
2 GPU 32 GB HBM2 1~32 vCPU 1~208 GB
4 GPU 64 GB HBM2

1~64 vCPU
(us-east1-c、europe-west1-d、europe-west1-b)

1~96 vCPU
(すべての P100 ゾーン)

1~208 GB
(us-east1-c、europe-west1-d、europe-west1-b)

1~624 GB
(すべての P100 ゾーン)

NVIDIA® K80 1 GPU 12 GB GDDR5 1~8 vCPU 1~52 GB
2 GPU 24 GB GDDR5 1~16 vCPU 1~104 GB
4 GPU 48 GB GDDR5 1~32 vCPU 1~208 GB
8 GPU 96 GB GDDR5 1~64 vCPU

1~416 GB
(asia-east1-a と us-east1-d)

1~208 GB
(すべての K80 ゾーン)

注:
  • ゾーンの詳細については、リージョンとゾーンをご覧ください。
  • NVIDIA® K80® ボードには、それぞれ 2 個の GPU が搭載されています。K80 GPU の料金は、ボード単位ではなく、個々の GPU 単位で課金されます。

グラフィック ワークロード用 NVIDIA® GRID® GPU

3D 表示などのグラフィックを多用するワークロードが存在する場合、NVIDIA® GRID® プラットフォームを使用する仮想ワークステーションを作成できます。NVIDIA® GRID® の背景情報については、GRID の概要をご覧ください。

仮想ワークステーションの GPU を選択すると、NVIDIA® GRID® のライセンスが VM に追加されます。料金の詳細については、GPU の料金ページをご覧ください。

NVIDIA® GRID® 仮想ワークステーションを設定するには、仮想ワークステーションを有効にして VM を作成し、GRID ドライバをインストールする必要があります。

仮想ワークステーションを作成したら、Teradici® PCoIP や VMware® Horizon View などのリモート デスクトップ プロトコルを使用して仮想ワークステーションに接続できます。

GPU モデル GPU GPU メモリ 利用可能な vCPU 数 利用可能なメモリ
NVIDIA® T4 仮想ワークステーション 1 GPU 16 GB GDDR6 1~24 vCPU 1~156 GB
2 GPU 32 GB GDDR6 1~48 vCPU 1~312 GB
4 GPU 64 GB GDDR6 1~96 vCPU 1~624 GB
NVIDIA® P4 仮想ワークステーション 1 GPU 8 GB GDDR5 1~16 vCPU 1~156 GB
2 GPU 16 GB GDDR5 1~48 vCPU 1~312 GB
4 GPU 32 GB GDDR5 1~96 vCPU 1~624 GB
NVIDIA® P100 仮想ワークステーション 1 GPU 16 GB HBM2 1~16 vCPU 1~104 GB
2 GPU 32 GB HBM2 1~32 vCPU 1~208 GB
4 GPU 64 GB HBM2

1~64 vCPU
(us-east1-c、europe-west1-d、europe-west1-b)

1~96 vCPU
(すべての P100 ゾーン)

1~208 GB
(us-east1-c、europe-west1-d、europe-west1-b)

1~624 GB
(すべての P100 ゾーン)

ネットワーク帯域幅と GPU

より高いネットワーク帯域幅を使用すると、分散ワークロードのパフォーマンスを向上させることができます。詳細については、ネットワーク帯域幅と GPU をご覧ください。

プリエンプティブル インスタンスの GPU

より低価格なスポット価格で GPU をプリエンプティブル VM インスタンスに追加できます。プリエンプティブル インスタンスに接続された GPU は、通常の GPU と同様に動作しますが、インスタンスの存続期間中にのみ有効になります。GPU を使用したプリエンプティブル インスタンスは、すべてのプリエンプティブル インスタンスと同じプリエンプション処理に従います。

プリエンプティブル インスタンスの GPU に使用する専用の Preemptible GPU 割り当てをリクエストすることを検討してください。詳細については、プリエンプティブル VM インスタンスの割り当てをご覧ください。

メンテナンス イベント中には、GPU を使用したプリエンプティブル インスタンスはデフォルトでプリエンプトされ、自動的に再起動することはできません。プリエンプトされた後でインスタンスを再作成する場合には、マネージド インスタンス グループを使用します。マネージド インスタンス グループは、vCPU、メモリ、GPU リソースが利用可能であれば、インスタンスを再作成します。

インスタンスがプリエンプトされる前に警告を受けるようにする場合、またはメンテナンス イベントの終了後にインスタンスが自動的に再起動するように構成する場合は、GPU を使用した標準インスタンスを使用します。GPU を使用した標準インスタンスの場合は、Google からプリエンプションの 1 時間前に通知が送信されます。

インスタンスの実行が開始されてから 1 分以内にインスタンスがプリエンプトされた場合、Compute Engine では GPU に対する課金は行いません。

標準インスタンスを自動的に再起動する手順については、インスタンスのオプションの更新をご覧ください。

GPU を接続したプリエンプティブル インスタンスの作成方法については、GPU を接続した VM の作成をご覧ください。

確約利用割引で GPU を予約する

特定のゾーンに GPU のリソースを予約する方法については、ゾーンリソースの予約をご覧ください。GPU の確約利用割引には予約が必要です。

GPU の比較表

以下では、Compute Engine で利用可能な GPU のタイプ別に、パフォーマンス仕様、機能の可用性、理想的なワークロードのタイプについて説明します。

GPU モデルで使用可能な最大 CPU とメモリは、GPU リソースを使用するゾーンによって異なります。メモリ、CPU リソース、利用可能なリージョンとゾーンについては、GPU のリストをご覧ください。

一般的な比較

指標 A100 T4 V100 P4 P100 K80
メモリ 40 GB HBM2@ 1.6 TB/秒 16 GB GDDR6@ 320 GB/秒 16 GB HBM2@ 900 GB/秒 8 GB GDDR5@ 192 GB/秒 16 GB HBM2@ 732 GB/秒 12 GB GDDR5@ 240 GB/秒
相互接続 NVLink Full Mesh@ 600 GB/秒 該当なし NVLink Ring@ 300 GB/秒 該当なし なし 該当なし
GRID リモート ワークステーション サポート
最適な用途 機械学習のトレーニング、推論、HPC 機械学習における推論、トレーニング、リモート可視化のワークステーション、動画のコード変換 機械学習のトレーニング、推論、HPC リモート可視化のワークステーション、機械学習における推論、動画のコード変換 機械学習のトレーニング、推論、HPC、リモート可視化のワークステーション 機械学習における推論、トレーニング、HPC
料金 Compute Engine で利用可能な GPU モデルとリージョンごとの料金については、GPU の料金をご覧ください。

パフォーマンスの比較

指標 A100 T4 V100 P4 P100 K80
コンピューティング パフォーマンス
FP64 9.7 TFLOPS 0.25 TFLOPS1 7.8 TFLOPS 0.2 TFLOPS1 4.7 TFLOPS 1.46 TFLOPS
FP32 19.5 TFLOPS 8.1 TFLOPS 15.7 TFLOPS 5.5 TFLOPS 9.3 TFLOPS 4.37 TFLOPS
FP16 18.7 TFLOPS
INT8 22 TOPS2
Tensor Core のパフォーマンス
FP64 19.5 TFLOPS
TF32 156 TFLOPS
混合精度 FP16/FP32 312 TFLOPS3 65 TFLOPS 125 TFLOPS
INT8 624 TOPS2 180 TOPS2
INT4 1,248 TOPS2 260 TOPS2

1 FP64 コードを正しく動作させるため、T4 および P4 GPU アーキテクチャには、少数の FP64 ハードウェア ユニットが組み込まれています。

2 TeraOperations/秒

3 混合精度トレーニングでは、NVIDIA A100 は bfloat16 データ型もサポートします。

制限事項

GPU を接続した VM の場合、次の制限が適用されます。

  • VM で NVIDIA® K80 GPU を使用する場合、VM は Intel Skylake 以降の CPU プラットフォームを使用できません。

  • GPU は現在、汎用 N1 マシンタイプ、またはアクセラレータ最適化 A2 マシンタイプでのみサポートされています。

  • 共有コア マシンタイプの VM には GPU を接続することはできません。

  • GPU を接続した VM はホスト メンテナンス イベントのために停止する必要がありますが、自動的に再起動できます。Compute Engine のホスト メンテナンス イベントは 2 週間に 1 回の頻度で発生しますが、これよりも頻繁に行われる場合もあります。これらのメンテナンス イベントが適正に処理されるようにワークロードを構成する必要があります。具体的には、機械学習や高性能コンピューティング(HPC)などの長時間実行されるワークロードでは、ホスト メンテナンス イベントの中断を処理する必要があります。詳細については、GPU ホスト メンテナンス イベントの処理をご覧ください。

  • Compute Engine システムとユーザーを保護するため、新しいプロジェクトにはグローバル GPU 割り当てが設定されます。この割り当ては、サポート対象のすべてのゾーンで作成できる GPU の総数を制限するものです。GPU 割り当てをリクエストするときは、各リージョンで作成する GPU モデルに対する割り当てに加え、すべてのゾーンにおけるすべてのタイプの GPU の総数に対するグローバル割り当てもリクエストする必要があります。

  • GPU を 1 つ以上接続している VM には、インスタンスに追加する GPU ごとに vCPU の最大数が設定されます。たとえば、各 NVIDIA® K80 GPU では、インスタンスのマシンタイプで最大 8 個の vCPU と最大 52 GB のメモリを使用できます。各種 GPU 構成で使用可能な vCPU とメモリの範囲を確認するには、GPU リストをご覧ください。

  • GPU が正しく機能するにはデバイス ドライバが必要です。Compute Engine で動作する NVIDIA GPU では、最小限のドライバ バージョンを使用する必要があります。ドライバ バージョンの詳細については、必要な NVIDIA ドライバのバージョンをご覧ください。

  • 特定の接続済み GPU モデルを使用する VM は、その接続された GPU モデルが一般提供されており、同じリージョン内の複数のゾーンでサポートされている場合にのみ、Compute Engine SLA の対象となります。次のゾーンの GPU モデルは、Compute Engine SLA の対象外となります。

    • NVIDIA® A100:
      • asia-southeast1-c
    • NVIDIA® T4:
      • australia-southeast1-a
      • europe-west3-b
      • southamerica-east1-c
    • NVIDIA® V100:
      • asia-east1-c
      • us-east1-c
    • NVIDIA® P100:
      • australia-southeast1-c
      • europe-west4-a
    • NVIDIA® K80:
      • us-west1-b
  • Compute Engine では、GPU あたり 1 人の同時利用ユーザーがサポートされています。

次のステップ