NVIDIA NVLink とは

概要

AI および HPC テクノロジの急速な発展に伴い、GPU の高速インターコネクトとスケーラビリティに対する要件がさらに高まっており、AI コンピューティングの全体的なパフォーマンス向上には、高帯域幅、低遅延、高性能インターコネクト テクノロジが不可欠です。 今年 100 月、Lao Huang 氏は、GTC カンファレンスで第 100 世代の NVIDIA NVSwitch と第 XNUMX 世代の NVLink テクノロジーを提案しました。これは、新しくリリースされた HXNUMX GPU に、より高速なポイントツーポイント相互接続ソリューションを提供します。 AXNUMX GPU であり、この種のネットワークには NVLink ネットワークのプロトタイプがあります。

NVSwitch3 と呼ばれる第 256 世代 NVSwitch チップを使用して、サーバー内の各 GPU カードを接続し、GPU サーバーの外部接続を拡張して、完全に独立した GPU 高速クラスターを確立できます。 同時に、NVSwitch チップは、ハードウェア アクセル ペダルによるマルチキャスト メッセージの高速化をサポートし、SHARP (Scalable Hierarchical Aggregation and Reduction Protocol) を導入しています。これは、以前の IB スイッチでのみ利用可能であった重要な機能であり、主にすべてのメッセージの高速化と最適化に使用されます。 AI の計算を削減します。 - AI コンピューティングのパフォーマンスを低下させます。 一方、物理スイッチで構成される第 100 世代 NVSwitch チップにより、最大 57.6 枚の H4.0 GPU カードのクラスターを構築することができ、ネットワーク全体で 2TB/秒の全対全帯域幅を提供します。 採用されている NVLink XNUMX 仕様は、GPU のパフォーマンスとスケーラビリティを大幅に最適化できます。たとえば、GPU アーキテクチャの並列プロセス ブロック構造は NVLink の並列構造を反映しており、NVLink のインターフェイスは GPU LXNUMX キャッシュ内のデータ交換用にさらに最適化されています。

NVSwitchチップ
NVLink

NVLink はサーバー内の GPU 間のポイントツーポイント通信を解決するプロトコルです。従来の PCIe スイッチの速度は次のとおりです。最新の PCIE5.0 はレーンあたりの帯域幅がわずか 32Gbps であり、基本的に GPU 間の通信帯域幅要件を満たしていません。 NVLink テクノロジーを使用すると、GPU をサーバー内部に直接接続できます。NVLink テクノロジーを使用すると、PCIe スイッチを介して通信する必要がなく、GPU がサーバー内で高速に相互接続できます。 第 112 世代 NVLink の帯域幅はレーンあたり 5Gbps で、これは PCIe GenXNUMX レーンの帯域幅の XNUMX 倍です。

PCI Express リンクのパフォーマンス

NVLink の主な目的は、高速なポイントツーポイント ネットワークを提供することです。 GPUの相互接続 従来のネットワークと比較して、エンドツーエンドのメッセージ再送信、適応ルーティング、およびメッセージの再組み立てのオーバーヘッドがありません。 非常に簡素化された NVLink インターフェイスは、セッション層から表現層、アプリケーション層まで CUDA アクセラレーションを提供するため、通信によるネットワーク オーバーヘッドがさらに削減されます。

HC34-NVIDIA-NVSwitch-NVLink-世代
GPUごとのNVlink帯域幅

図に示すように、NVLink は、P1 の第一世代 NVLink100 から現在の H4 の NVLink100 まで、GPU アーキテクチャとともに進化してきたことがわかります。 NVLink3 は 50G NRZ と 56G PAM4 の両方をサポートしますが、NVLink4 は 112G PAM4 Serdes を初めて導入し、前世代の NVLink900 の 1.5GB/s に比べ 3 倍の 600GB/s の双方向帯域幅を提供できます。 では、900GB/秒はどのように計算されるのでしょうか? 各 H100 GPU は 3 個の NVLink18 リンクを介して内部 NVSwitch4 チップに接続されており、各 NVLink4 リンクは実際には 112 つのレーンで、各レーンは 4G PAM4 であるため、単一の NVLink224 リンクの単方向帯域幅は 25Gbps、つまり 50GB/s になります (ここでは注意してください)。ビットからバイトに変化します) 単方向帯域幅、18GB/秒の双方向帯域幅、および 4 個の NVLink900 リンクの双方向帯域幅は合計 XNUMXGB/秒です。

NVスイッチ チップ

NVSwitchチップ第XNUMX世代

NVSwitch チップは、複数の GPU を高速 NVLink インターフェイスにリンクできるスイッチ ASIC の一種で、サーバー内の GPU 間の通信と帯域幅を強化します。 P100 が NVLink1 を使用していたときは、NVSwitch チップがなく、GPU がリング接続を形成していたため、異なる NUMA ノード上の GPU 間の直接通信が妨げられていました。 NVLink100 を搭載した V2 からは NVSwitch1 チップが追加され、その後 NVLink100 を搭載した A3 では NVSwitch2 チップが使用されました。 次は H3 用の NVSwith100 チップです。

nvlink-4-nvswitch
NVリンクプラスシャープ

このチップはTSMCの4Nプロセスで製造され、25.1平方ミリメートルのダイに294億個のトランジスタを詰め込んでいる。チップの大きさは 50mm x 50mm で、128 の SHARP 並列グループを同時に処理できる SHARP コントローラを備えています。また、SHARP ALU も組み込まれており、SHARP 計算をサポートする SRAM メモリに保存されたデータに対して論理演算を実行できます。 SHARP ALU により、NVSwitch は 400GFLOPS の FP32 コンピューティング スループットを達成できるようになり、FP16、FP32、FP64、BF16 などのさまざまな精度モードもサポートされます。このチップは、400Gbps イーサネットまたは NDR IB 各ケージは、FEC 機能を備えた 4 つの NVLink3 OSFP 光モジュールを収容できます。このチップには、NVLink ネットワークをサブネットに分割できるセキュリティ機能と、IB と同様のテレメトリ監視機能が備わっています。 NVSwitch64 チップには 4 個の NVLink200 ポートがあり、それぞれに XNUMX Gbps の単方向帯域幅を提供する XNUMX つのレーンがあります。したがって、チップは、 offつまり、合計 64*200Gbps=12.8Tbps の単方向帯域幅または 3.2TB/秒の双方向帯域幅になります。

-2 倍の実効 NVlink 帯域幅

NVSwitch3 チップは、SHARP 機能全体を初めて統合しました。この機能は、すべての削減中にハードウェアを使用して複数の GPU ユニットの計算結果を集約して更新することで、ネットワーク パケット数を削減し、計算パフォーマンスを向上させます。

HC34-NVIDIA-NVSwitch-NVLink-Generations-Server-Any-to-Any

NVLink サーバーは、NVLink および NVSwitch テクノロジーを使用して GPU を相互接続するサーバーを指します。通常は、NVIDIA 独自の DGX シリーズ サーバー、または同様のアーキテクチャを持つ OEM HGX サーバーです。

PCle

P1 GPU を搭載した DGX-100 サーバーには NVSwitch が導入されておらず、8 個の GPU すべてが NVLink1 によって接続され、各 P100 には 4 つの NVLink1 接続がありました。 NVSwitch1 と NVLink2 は NVIDIA V100 GPU アーキテクチャに導入され、サーバー内の複数の GPU 間に高帯域幅と Any-to-Any 接続を提供します。 NVSwitch2 と NVLink3 は、NVIDIA A100 GPU で起動されました。

DGX A100サーバーの内部図

上記の DGX A100 サーバー内部の図では、GPU と CPU 間の接続は PCIe スイッチを介して行われ、8 つの GPU 間の接続は主に 6 つの NVSwitch2 チップを介して行われます。 各 GPU は 2 個の NVlink12 を使用して NVSwitch3 チップに接続し、各 NVlink3 には 25GB の単方向帯域幅があり、合計 12*25GB=300GB/秒の単方向帯域幅または 600GB/秒の双方向帯域幅を GPU に提供できます。 DGX H100 サーバーのパラメータを見てみましょう。

DGX H100
  • 8x NVIDIA H100 Tensor コア GPU、640 GB の合計 GPU メモリ
  • 4x 第 XNUMX 世代 NVIDIA NVSwitch チップ
  • 18x NVLink ネットワーク OSFP
  • 3.6 個の NVLink によって提供される 72 TB/秒の全二重 NVLink ネットワーク帯域幅
  • 8x NVIDIA ConnectX-7 イーサネット/InfiniBand ポート
  • 2x デュアルポート BlueField-3 DPU
  • デュアル Sapphire Rapids CPU
  • PCIe Gen 5のサポート 
H100 GPU
NVlinkネットワークのサポート

H100 GPU には、第 450 世代 NVSwitch および第 100 世代 NVLink テクノロジーが導入されており、単一の H1 GPU で 8 GB/秒の一方向帯域幅を提供できます。 また、複数の GPU サーバーに高速通信を提供する外部 100U ボックス型 NVLink Switch スイッチも導入されました。 DGX H100 には 100 つの H4 GPU があり、各 H3 は 18 の NVLink (5,4,4,5、4、3、2) を備えた 1 つの NVSwitchXNUMX チップに同時に接続されます。 GPU 間のトラフィックは XNUMX つのスイッチング プレーンに分散されるため、GPU 内で全対全トラフィックが実現されます。 各内部 NVSwitchXNUMX チップは、外部 NVLink に対して XNUMX:XNUMX のコンバージェンス比を備えており、主にサーバー間接続帯域幅の複雑さとコストを考慮して設計されています。

NVスイッチ

NVLlink スイッチは今年リリースされたばかりで、H100 スーパーポッドの相互接続のために生まれました。 1 OSFP ポートを備えた 32U サイズの設計を採用しており、各 OSFP は 8 つの 112G PAM4 レーンで構成され、各スイッチには 2 つの NVSwitch3 チップが内蔵されています。 各 NVSwitch3 には 64 個の NVLink4 があるため、128 つのチップで最大 4 個の NVLink128 インターフェイスを提供でき、400*51.2Gbps = 6.4TBps の単方向帯域幅、または 400TB/秒の双方向帯域幅を提供します。 NVLink スイッチは、特定のファームウェアを備えた帯域外管理ポート、DAC ケーブル、AOC および OSFP ケーブルをサポートします。 この OSFP モジュールに関する公開情報はまだありません。 外観は以下の NDR OSFP 形状に似ていると推測されます。 800 つの MPO ポートはそれぞれ 24G に接続するか、XNUMXG ポートを XNUMX コアに直接接続します MPOケーブル.

NVSwitch 物理スイッチを使用すると、複数の NVLink GPU サーバーを大規模なファブリック ネットワーク (NVLink ネットワーク) に接続できます。 このネットワークは主に GPU 間の高速通信帯域幅と効率の問題を解決するために設計されており、CPU 間の計算ネットワークやストレージ ネットワークは含まれません。 のない時代に NVLinkネットワーク、各サーバーは内部で GPU にローカル アドレス空間を割り当て、NVLink を介して相互に通信します。 NVLink ネットワークでは、各サーバーに独自の独立したアドレス空間があり、NVLink ネットワーク内の GPU にデータ送信、分離、セキュリティ保護を提供するために使用されます。 システムが起動すると、NVLink ネットワークはソフトウェア API を介して接続を自動的に確立し、動作中にいつでもアドレスを変更できます。

NVLinkネットワーク

次の図は、NVLink ネットワークと従来の Ethernet ネットワークを比較しています。 NVlink、NVSwitch チップ、および NVSwitch スイッチを通じて、IP イーサネットから独立し、GPU サービス専用の NVLink ネットワークを形成できることがわかります。

比較

DGX H100 スーパーポッド

DGX H100 スーパーポッド

SuperPOD は 100 つのラックで構成され、それぞれに 32 台の DGX H256 サーバーが搭載され、合計 100 台のサーバーと 1 枚の H8 GPU カードが搭載され、57.6 エクサフロップ (256 京) の FP7 高精度スパース AI パフォーマンスを実現します。 この SuperPOD 内の NVLink ネットワークは、32 個の GPU に対して合計 100 TB/秒の全対全双方向帯域幅を提供できます。また、25.6 台の DGX HXNUMX サーバー内の CXXNUMX は IB スイッチと相互接続でき、XNUMX TB/秒の双方向帯域幅を提供します。これにより、POD 内で複数の SuperPOD を使用または接続できるようになります。

スーパーポッド ネットワーキング

NVS は前述の NVSwitch3 チップであり、L2NVS は前述の NVSwitch 物理スイッチです。 DGX H100 の各 GPU は 18 個の NVLink4 接続を北方向に拡張し、1850GB=900GB/秒の双方向帯域幅を提供します。 これら 18 個の NVLink4 は、5,4,4,5、3、8、40,32,32,40 の 4 つのグループに分割され、114 つのオンボード NVSwitch4 チップに接続されます。 このように、2 GPU の場合、各 NVS チップは 1、4,4,4,4、4、18 個の NVLink2 を南に接続し、合計 1 個の NVLink5,4,4,5 を接続します。その後、各 NVS チップは 20,16,16,20:4 コンバージェンスを実行して、72、4、114、4 個の NVLink2 を接続します。北の外部 1 個の L4NVS (前述した NVSwitch 112U スイッチ) に接続します。 これらのスイッチは 4、XNUMX、XNUMX、XNUMX の XNUMX つのグループに分かれています。 したがって、単一のオンボード NVS チップは、北方向に XNUMX、XNUMX、XNUMX、XNUMX 個の NVLinkXNUMX、合計 XNUMX 個の NVLinkXNUMX、南方向に XNUMX 個の NVLlinkXNUMX を接続し、XNUMX:XNUMX のコンバージェンス比を形成します。 ここでは、各 NVLinkXNUMX は XNUMX つの XNUMXG PAMXNUMX レーンで構成されているため、XNUMX つの NVLink リンクごとに XNUMX 組の XNUMXG PAMXNUMX レーンが必要です。 800G OSFP モジュールをエンドツーエンドで接続します。 このように、図の上半分はNVlinkネットワークを形成するGPU全対全相互接続の高速ネットワークを示しています。  

NVSwitch3チップ

以下のビデオは、NVIDIA Quantum-800 スイッチで 8G OSFP SR2 を使用する方法を示しています。

GPU と CPU 間の相互接続は、CX5 ネットワーク カード内の PCIe GEN7 スイッチを介して行われます。 DGX H7 内の CX100 ネットワーク カードは、以前の DGX A6 のように 100 枚の独立した CX7 ネットワーク カードの形式ではなく、サーバーに接続するためのネットワーク カード チップを備えた XNUMX つのボードに構成されています。 XNUMX つの CXXNUMX チップはそれぞれ Cedar ボードを形成し、XNUMX つの出力を出力します。 800G OSFP ポート。 7 つの CX800 ネットワーク カード チップが 800 つの Cedar ボードを形成し、合計 4 つの OSFP 2G ポートを出力します。これにより、800Gbps7*1024=100GB/秒の双方向帯域幅が提供されます。ここの CXXNUMX ネットワーク カードは、イーサネット モードで RoCE を実行することも、NDR IB ネットワークで実行することもできます。以下の図に示すように、NDR IB のファットツリー トポロジを使用して、XNUMX つの HXNUMX SuperPOD に XNUMX 個の GPU を構築できます。

各 DGX H100 には、ストレージ ネットワークに接続するための 3 つの Bluefield XNUMX もあります。

各 DGX H100 には、ストレージ ネットワークに接続するための 3 つの Bluefield XNUMX もあります。

NVLink ネットワークを使用した後の H100 GPU の接続は、A100 の IB ネットワークと比較してどれくらい速くなりますか? 以下は、DGX A100 256 POD と DGX H100 256 POD の帯域幅の比較です。

DGX A100 256 POD と DGX H100 256 POD の比較

二等分は、全対全シナリオで各 GPU が他のすべての GPU に同時に送信する必要があるデータ量のパフォーマンス インジケーターです。 通常、ネットワーク内のノードの半分が残りの半分にデータを送信するときのネットワーク帯域幅を計算し、通常は 1:1 のノンブロッキング トラフィックを測定します。 1 つの DGX A100 内部: 8/2600GB/s=2400GB/s 32 の DGX A100 内部、合計 256 の A100 GPU、各サーバーは 8 枚の 200Gbps HDR カードで接続され、TOR スイッチのコンバージェンス比は 4:1 である必要があります: 256/ 2/4200GB/s=6400GB/s 1 DGX H100 内部: 8/2900GB/s=3600GB/s 32 DGX H100 内部、ネットワーク コンバージェンス比は 2:1 なので、256/2/2900GB/s=57600GB/s (前述の 57.6TB/s の説明はここから来ています) 1.5 台の DGX を 3 分割すると帯域幅が 32 倍、双方向帯域幅が 9 倍増加します。4.5 個の DGX を XNUMX 分割すると帯域幅が XNUMX 倍増加し、双方向帯域幅が XNUMX 倍になります。

ニューラルレコメンダーエンジン

図に示すように、all14all データ モデルで実行される 2 TB の埋め込みテーブルを使用してレコメンデーション システムをトレーニングする場合、NVLink を搭載した H100 は IB を搭載した H100 よりも高いパフォーマンスを発揮します。 以下は、サーバー上で実行されているマルチ GPU およびマルチノード GPU の all-reduce および all-to-all の帯域幅比較の公開 NCCL 結果です。 NVLink4 と NVSwitch3 を最適化することで、H100 は内部および外部マルチカードに対して一貫した帯域幅を実現できます。

すべてパフォーマンスを低下させる
すべてすべての帯域幅

まとめ

まとめ

NVlink および NVSwitch テクノロジーは、マルチ GPU 向けの高速、低遅延のポイントツーポイントおよびポイントツーマルチポイント通信のニーズを満たすために開発されました。 また、GPU アーキテクチャの変化に合わせて常に革新を続けています。 Mellanox の買収以来、NVIDIA は NVLink テクノロジーと IB テクノロジーの組み合わせも開始し、GPU サーバーの外部ネットワーク用に最適化された SHARP 機能を備えた新世代の NVSwitch チップとスイッチを発売しました。 最大 256 個の GPU をサポートする現在の NVLink ネットワーク規模は、ほんの始まりにすぎません。 この NVlink ネットワーク規模は、将来さらに発展、改善され、AI コンピューティング、CPU コンピューティング、ストレージ、その他のネットワーク統合に適したスーパーコンピューティング クラスターが構築される可能性があると考えられています。

コメント

上へスクロール