# NVLink ## 定義 NVLinkは、NVIDIAが開発したGPU間およびCPU-GPU間の高速インターコネクト規格である。PCIeバスを介した相対的に低速な通信を代替し、キャッシュコヒーレントな統一メモリ空間を実現することを目的とする。CPU-GPU間を結ぶ変種はNVLink-C2C(chip-to-chip)と呼ばれ、Grace CPUとBlackwell/Hopper GPUを約900GB/sで結合する。GPU間の全結合は専用スイッチASICであるNVSwitchを介して行われ、NVIDIA GB200 NVL72では72基のGPUがNVLink 5(GPUあたり集約双方向帯域約1.8TB/s)と18基のNVSwitchチップを通じて単一ホップの全結合ネットワークを構成する。NVLink SHARP(NVLS)はNVSwitch ASICに統合された集約・リダクションエンジンで、勾配リダクション等の集団通信の一部をスイッチ内で処理しGPU側の負荷を減らす。(Source: [[@2025__OReilly__AI Systems Performance Engineering - Chapter 2 AI System Hardware Overview]]) ## 横断的知見 - **NVLinkはノード内通信の帯域だけでなく、集団通信プロトコルの最適解そのものを変える**: [[@2025__OReilly__AI Systems Performance Engineering - Chapter 2 AI System Hardware Overview]]はNVLink 5がGPUあたり集約双方向帯域約1.8TB/s・レイテンシ数マイクロ秒台であり、InfiniBand(約20〜80GB/s・5〜10マイクロ秒以上)と桁違いであることを示す。この帯域差は単なる速度差にとどまらず、[[@2025__IEEE__Demystifying NCCL - An In-depth Analysis of GPU Communication Protocols and Algorithms]]の実測(CSCS Alps、GH200)が示すように、ノード内(NVLink)ではLL128プロトコルが全メッセージサイズで最安定な最適解となる一方、ノード間大メッセージではSimpleプロトコルが最速になるという、通信経路(ノード内外)そのものによって最適アルゴリズムが分岐する要因になっている。(Source: [[@2025__OReilly__AI Systems Performance Engineering - Chapter 2 AI System Hardware Overview]], [[@2025__IEEE__Demystifying NCCL - An In-depth Analysis of GPU Communication Protocols and Algorithms]]) - **NVLink上でも通信方向(pull/push)自体が独立した性能変数になる**: NVL72の高帯域は帯域の絶対量を保証するにとどまらず、[[@2026__Cursor__Mixture-of-Kittens - our open-source MoE megakernel for NVL72s]]はNVIDIA GB300 NVL72(Blackwell Ultra世代のNVL72)上でMoEトークンディスパッチのpull-based方式がpush-based方式より総転送バイト数が増えるにもかかわらず最大29%高い帯域利用率を達成することを実測している。本章が説明する「ラック内はNVLinkで完結させる」という設計指針(intra-rack優先)の内側でも、通信方向の選択という一段下位の最適化余地が残ることを示す。(Source: [[@2025__OReilly__AI Systems Performance Engineering - Chapter 2 AI System Hardware Overview]], [[@2026__Cursor__Mixture-of-Kittens - our open-source MoE megakernel for NVL72s]]) ## 未解決の問い - ラック内NVLink通信とラック間InfiniBand/Ethernet通信の切り替え境界(intra-rack優先の設計指針)は、モデルの並列化戦略(テンソル並列 vs パイプライン並列 vs エキスパート並列)ごとにどの粒度で最適化すべきか。 - NVLink SHARP(NVLS)によるネットワーク内リダクションは、Rubin世代のcounted writesのようなハードウェアレベルの同期プリミティブとどう組み合わさるか。両者は補完的か、それとも設計思想上の対立(スイッチ内集約 vs エンドポイント間の直接同期)があるか。 - GB200 NVL72のNVLink帯域(1.8TB/s/GPU)を前提としたpull-based dispatchの優位性は、次世代NVLink 6(GB300後継のVera Rubin世代、帯域倍増予定)でも同様に成立するか、それとも帯域増加によりpush-basedとの差が縮小するか。 ## 関連 - source: [[@2025__OReilly__AI Systems Performance Engineering - Chapter 2 AI System Hardware Overview]] - entity: [[NVIDIA GB200 NVL72]] / [[NVIDIA GH200]] / [[NVIDIA GB300 NVL72]] / [[NVIDIA]] - 隣接 concept: [[集合通信]] / [[LLM分散学習]] ## 出典 - [[@2025__OReilly__AI Systems Performance Engineering - Chapter 2 AI System Hardware Overview]] - [[@2025__IEEE__Demystifying NCCL - An In-depth Analysis of GPU Communication Protocols and Algorithms]] - [[@2026__Cursor__Mixture-of-Kittens - our open-source MoE megakernel for NVL72s]]