2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GPUコンピューティングの基本: 基本コンセプトの徹底解説-2

Last updated at Posted at 2024-03-01

大規模モデルのトレーニングは、できれば1サーバーあたり多数のGPUを搭載したマシンのクラスターで行われることが知られています。前回の記事「GPUコンピューティングの基礎-1」では、GPUネットワークにおける一般的な用語と概念を紹介しました。今回は、引き続き一般的なGPUアーキテクチャについて説明します。

8x NVIDIA A100 GPUノード/8x NVIDIA A800 GPUノード

標準的な8カードA100ホスト・ハードウェア・トポロジー

上記のA100 GPUのトポロジー図に示されているように、8個のA100 GPUのトポロジーには以下のコンポーネントが含まれます:

  • CPUチップ2枚(および両側の関連メモリ、NUMA):中央演算処理装置は、汎用コンピューティングタスクを担当します。

  • ストレージネットワークカード2枚(分散ストレージへのアクセス用、インバンド管理など):これらのネットワークカードは、分散ストレージへのアクセスに使用されています。

  • PCIe Gen4スイッチチップ4枚:PCIe Gen4はPCIeインターフェイスの第4世代で、より高速なデータ転送レートを提供します。

  • NVSwitchチップ6枚:NVSwitchは、大規模なディープラーニング・ノーデルや並列コンピューティング・タスクの効率的な運用に不可欠な、極めて高速なGPU間直接通信を容易にします。

  • GPU8個:A100 GPUは、並列化された計算を実行する主要な処理ユニットで、特にAIやディープラーニングのワークロードに適しています。

  • GPU専用ネットワークカード8枚:各GPUには専用のネットワークカードがあり、GPU間の通信を最適化し、並列処理タスクの全体的なパフォーマンスを向上させます。

これらの構成要素については、以下のセクションで詳しく説明します。

次の図は、参考のためにより詳細なトポロジー情報を示しています。

NVIDIA DGX A100ホスト(公式8カードマシン)のハードウェアトポロジー

ストレージ・ネットワークカード

GPUアーキテクチャにおけるストレージネットワークカードの位置付けは、主にPCIeバスを介した中央処理装置(CPU)への接続と、分散ストレージシステムとの通信を促進する役割を担っています。以下は、GPUアーキテクチャにおけるストレージネットワークカードの主な目的です:

  • 分散ストレージデータの読み書き ストレージ・ネットワーク・カードの主な機能の1つは、分散ストレージ・システムからのデータの読み書きを効率的に行うことです。これは、分散ストレージからトレーニングデータに頻繁にアクセスし、トレーニング結果をチェックポイント・ファイルに書き込むことが不可欠な、ディープラーニング・モデルのトレーニング・プロセスにおいて極めて重要です。

  • ノード管理タスク:ストレージ・ネットワーク・カードはデータ転送に限らず、ノード管理タスクも含まれています。これには、SSH(Secure Shell)によるリモート・ログイン、システム・パフォーマンスの監視、関連データの収集などのタスクが含まれます。これらのタスクは、GPUクラスタの運用状態の監視と維持に貢献します。

公式にはBF3 DPUが推奨されているが、実際には帯域幅の要件を満たす限り、代替ソリューションを選択することができます。例えば、費用対効果を考えるのであればRoCEを、性能を最大化するのであればInfiniBandを選択することが推奨されます。

NVSwitch ファブリック

フルメッシュネットワークトポロジでは、各ノードは他のすべてのノードに直接接続されています。通常、8個のGPUが、NVSwitchファブリックとも呼ばれる6個のNVSwitchチップを介してフルメッシュ構成で接続されます。

フルメッシュ構造では、各ラインの帯域幅は、n * bw-per-nvlink-laneで表されるNVLinkレーンあたりの帯域幅に依存します。1レーンあたり50GB/秒の帯域幅を持つNVLink3テクノロジーを利用するA100 GPUの場合、フルメッシュ構造における各ラインの合計帯域幅は、12 * 50GB/s = 600GB/秒となります。この帯域幅は双方向であり、データ送受信の両方をサポートするため、単方向の帯域幅は300GB/秒になることに注意する必要があります。

対照的に、A800 GPUはNVLinkレーン数を12から8に減らしています。その結果、フルメッシュ構造では、各ラインの合計帯域幅は8 * 50GB/s = 400GB/sとなり、一方向帯域幅は200GB/sとなります。

以下は、8*A800マシンのnvidia-smiトポロジーです。

8*A800マシン用nvidia-smiトポロジー

    • GPU間の接続(左上領域):

すべてNV8と表記され、8つのNVLink接続を表しています。

    • NICコネクタ:

同じCPUダイ上にある:NUMAを横断する必要はないが、PCIeスイッチチップを横断する必要があることを表しています。

異なるCPUダイ上: SYSと指定され、NUMAをトラバースする必要があることを表しています

    • GPUとNICの接続:

同じCPUダイ上で、同じPCIeスイッチチップの下にある:NODEとして識別され、PCIeスイッチチップのみを交差させる必要があることを表しています。

同じCPUダイ上にあるが、同じPCIeスイッチチップの下にはない: NNODEとして指定され、PCIeスイッチチップとPCIeホストブリッジの両方を横断する必要があることを表しています。

異なるCPUダイ上:NUMA、PCIeスイッチチップを横断し、最長距離をカバーする必要があることを表しています。

IDC GPU ファブリック

次の図は、GPUノードの相互接続アーキテクチャを示しています:

GPUノード相互接続アーキテクチャ

コンピュート・ネットワーク

コンピュート・ネットワークは、主にGPUノード間の接続に使用され、並列コンピューティング・タスクの連携をサポートします。これには、複数のGPU間でのデータ転送、計算結果の共有、大規模並列計算タスクの実行調整などが含まれます。

ストレージ・ネットワーク

ストレージ・ネットワークはGPUノードとストレージ・システムを接続するために使用され、大規模データの読み書きをサポートします。これには、ストレージシステムからGPUメモリへのデータのロードや、計算結果のストレージシステムへの書き戻しが含まれます。

AIに求められる高性能を実現するためには、RDMA(Remote Direct Memory Access)がコンピュート・ネットワークとストレージ・ネットワークの両方に不可欠です。2つのRDMAテクノロジーから選択 RoCEv2とInfiniBandの2つのRDMA技術の選択には、費用対効果と優れた性能のトレードオフが含まれ、各オプションは特定のユースケースと予算の考慮事項に対応しています。

パブリック・クラウド・サービス・プロバイダーは、8台のGPUインスタンスにそれぞれ8 * 100Gbpsを搭載したCX構成のように、RoCEv2ネットワークを構成に利用することが多いのです。他のオプションと比較すると、RoCEv2 は、性能要件を満たしていれば、比較的コスト効率に優れています。

RoCEとInfinibandの違いについては、InfiniBand vs. RoCE: AIデータセンターのネットワークを選択する方法をご覧ください。

データリンク接続における帯域幅のボトルネック

シングルマシン8カードA100 GPUホスト帯域幅ボトルネック解析

この図では、主要リンクの帯域幅仕様を紹介しています:

  • 同一ホスト上のGPU間の通信:NVLinkを利用することで、双方向の帯域幅は600GB/秒を達成し、一方向の帯域幅は300GB/秒に達します。

  • 同一ホスト上のGPUとそれぞれのネットワークインターフェイスカード(NIC)間の通信:PCIe Gen4スイッチチップを使用し、双方向帯域幅は64GB/秒、一方向帯域幅は32GB/秒に達します。

  • 異なるホスト間のGPU間の通信: データ転送はNICに依存し、帯域幅は使用するNICに依存します。現在、中国のA100/A800モデルで一般的に使用されているNICの主流帯域幅は、片方向で100Gbps(12.5GB/秒)です。そのため、ホスト間通信はホスト内通信に比べてパフォーマンスが大幅に低下することになります。

200Gbps (25GB/s) はPCIe Gen4の一方向帯域幅に近い値を示します。

400Gbps(50GB/秒)はPCIe Gen4の一方向帯域幅を上回ります。

したがって、このタイプの構成で400Gbps NICを使用しても、400Gbps帯域幅を完全に利用するにはPCIe Gen5の性能が必要なため、大きなメリットは得られません。

8x NVIDIA H100/8x NVIDIA H800ホスト

H100ホスト内のハードウェアトポロジー

H100ホストの全体的なハードウェアトポロジーは、A100 8カードマシンとよく似ていますが、主にNVSwitchチップの数と帯域幅のアップグレードに見られます。

H100ホスト内のハードウェアトポロジー

  • 各H100ホスト内には4つのチップがあり、A100構成より2つ数が少ないのです。

  • H100チップは4ナノメートルプロセスで製造され、最下段に18個のGen4 NVLink接続を備え、双方向合計900GB/秒の帯域幅を提供します。

H100 GPUチップ

シングルチップH100 GPU内部論理レイアウト

  • このチップは、最先端の4ナノメートル・プロセスで製造されており、高度な製造技術を示しています。

  • チップの最下段は18個のGen4 NVLink接続で構成され、18レーン×25GB/レーン=900GB/秒の双方向総帯域幅を提供します。

  • 中央の青い部分がL2キャッシュで、一時データの保存に使われる高速キャッシュです。

  • チップの左側と右側には、グラフィックス・メモリとして機能するHBMチップが搭載されており、グラフィックス処理に必要なデータを格納します。

ネットワーキング

ネットワークに関しては、H100はA100に似ているが、唯一の違いは、標準構成に400GbpsのCX7ネットワークカードが含まれていることです。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?