GPU間インターコネクト ─ NVLink/NVSwitchとスケールアップ
巨大モデルが1台のGPUに収まらない理由と、NVLink/NVSwitchがPCIeの何倍もの帯域でGPUを束ねる原理を押さえ、NVL72やall-reduceの数字の意味が腑に落ちます。
- 1.NVLinkはGPU間を専用の高速リンクで直結し、PCIeより一桁広い双方向帯域でメモリをP2P転送する。NVSwitchはそのリンクをクロスバで束ね全GPUを全対全に結ぶ。
- 2.all-reduce(勾配集約)はring/treeアルゴリズムで実行され、所要時間はリンク帯域と段数で決まる。インターコネクトが広いほど集合通信が速く、学習が速くなる。
- 3.1筐体内をNVLinkで密結合するのがスケールアップ(NVL72等)、筐体をInfiniBand/Ethernetで束ねるのがスケールアウト。帯域の段差がその境界を生む。
なぜPCIeでは足りないのか
大規模モデルの学習・推論では、1個のGPUのメモリ(数十〜百数十GB)に重みもアクティベーションも収まりません。そこで複数GPUに分割し、GPU同士が頻繁にデータを交換します。この交換速度がそのまま全体性能を縛ります。
問題は経路です。GPUを差すのはPCI Expressですが、PCIeはGPU・NIC・ストレージが共有するI/Oファブリックで、GPU間通信は本来CPU側のルートコンプレックスを経由します。x16リンクの片方向帯域はおよそ数十GB/sにとどまり、GPUのHBMが持つ毎秒数TBの帯域とは2桁の開きがあります。GPUが互いの行列演算に必要なデータを送り合うには、これでは細すぎます。
NVIDIAのNVLinkは、この用途のためにGPU同士を直結する専用リンクです。PCIeを置き換えるのではなく、GPU間通信だけを別の太い経路に逃がします。
NVLinkは世代ごとに帯域を伸ばし、最新世代では1GPUあたりの集約双方向帯域が数百GB/s〜1.8TB/s級に達します。PCIe x16(双方向で数十GB/s)に対し一桁以上広く、しかもCPUを介さずGPU同士で直結するため遅延も短くなります。
リンクの束ね方とトポロジ
NVLinkの基本単位はリンクで、複数の差動レーンの束です。1個のGPUは複数のNVLinkポートを持ち、それらを相手GPUへ何本割り当てるかで対GPU帯域が変わります。リンクは独立した双方向ポイントツーポイント接続で、PCIeと同じく各経路が帯域を占有するため、複数ペアが同時に通信しても互いに干渉しません。
GPUが少数(2〜数個)なら、リンクをGPU同士へ直接張るメッシュで済みます。しかし8個、72個と増えると、全対全を直結で結ぶリンク本数が現実的でなくなります。GPUあたりのポート数は有限だからです。
そこでNVSwitchを挟みます。NVSwitchはNVLink専用のクロスバスイッチで、すべてのGPUのリンクを一度スイッチに集約し、任意のGPUペア間をフルバンド幅で結びます。
| 接続方式 | トポロジ | 全対全帯域 | 限界 |
|---|---|---|---|
| PCIe経由 | CPUを頂点とするツリー | 細い・CPU経由 | GPU間がI/Oを共有し競合 |
| NVLink直結 | GPU同士のメッシュ | 太いが本数制約 | GPU数が増えると張れない |
| NVSwitch | クロスバ全対全 | 全ペアがフル帯域 | スイッチ容量・筐体規模 |
NVSwitchの利点は、通信相手によらず帯域が均一になることです。メッシュではホップ数や経由GPUで実効帯域が変わりますが、クロスバなら任意ペアが等しく最大帯域で通信でき、集合通信の設計が単純になります。
統合メモリ空間とP2P転送
NVLinkが効くのは帯域だけが理由ではありません。リンク上でGPUは互いのメモリへ直接アドレッシングできます。あるGPUのカーネルが、別GPUのHBM上の番地をそのままロード・ストアでき、CPUのコピーを介しません。これがP2P(peer-to-peer)転送です。
さらにNVLinkはアドレス変換とアトミック操作を運べるため、複数GPUのメモリを1つの広いアドレス空間として扱う統合メモリが成立します。ソフトウェアから見れば、72個のGPUのHBMが連続した巨大メモリのように振る舞い、データがどのGPUに物理的に在るかを意識せずアクセスできます。考え方はCXLによるコヒーレント接続に近く、リンクがメモリセマンティクス(ロード/ストア・アトミック)まで運ぶ点が単なるDMAと異なります。
従来(PCIe + コピー):
GPU-A → DMAでホスト経由 → GPU-B のメモリへコピー(遅い・CPU関与)
NVLink P2P:
GPU-A のカーネルが GPU-B の番地を直接 load/store
(CPU非関与・ハードウェアがリンク越しに転送)
all-reduceの帯域
分散学習で支配的な通信がall-reduceです。各GPUが計算した勾配を全GPUで足し合わせ、合計を全GPUへ配り直します。これを毎ステップ実行するため、ここの速度が学習スループットを決めます。
代表的な実装がring all-reduceです。N個のGPUをリングに並べ、勾配ベクトルをN分割し、各GPUが隣へ部分和を送りながら一周(reduce-scatter)して合計を作り、もう一周(all-gather)で配ります。1GPUが送受信するデータ量はリンク帯域に律速され、巧妙なことにGPU数Nが増えても1GPUあたりの転送量はほぼ一定(おおむね 2×(N−1)/N × データ量、Nが大きいと約2倍)に保たれます。つまり所要時間はリンク帯域でほぼ決まり、Nに対してスケールします。
| アルゴリズム | 向き | 律速要因 |
|---|---|---|
| ring all-reduce | 帯域最適・段数多い | リンク帯域 |
| tree/double-binary | 段数少・遅延最適 | ホップ遅延 |
| NVSwitch集約(in-network) | スイッチ内で加算 | スイッチ演算容量 |
ここでNVSwitchの広い全対全帯域が直接効きます。リングの各ホップがフルバンド幅なら、all-reduce時間は理論下限に近づきます。リンクが細いPCIe経由だと、同じアルゴリズムでも転送そのもので律速され、GPUのTensorコアが通信待ちで遊びます。
小さいメッセージでは段数(ホップ数)由来の遅延が支配的になり、ring よりホップの少ない tree が有利です。大きいメッセージでは帯域が支配的で ring が有利です。集合通信ライブラリ(NCCL等)はメッセージサイズとトポロジを見てアルゴリズムを切り替えます。「広帯域=常に速い」ではなく、サイズ依存である点に注意します。
スケールアップとスケールアウトの境界
ここまでがNVLink/NVSwitchで密結合する世界、すなわちスケールアップです。GB200 NVL72のように1ラックの72GPUをNVSwitchファブリックで全対全に結び、論理的に1つの巨大GPU(統合メモリ・フル帯域P2P)として振る舞わせます。
ただしNVLinkは距離と規模に上限があります。銅配線で届く範囲・スイッチの容量・筐体の電力と冷却が物理的な壁になり、無限には広げられません。この壁を越えてさらにGPUを増やすのがスケールアウトです。ラック(NVLinkドメイン)同士をInfiniBandやEthernetで束ねます。
| 軸 | スケールアップ(NVLink域内) | スケールアウト(ラック間) |
|---|---|---|
| 接続 | NVLink/NVSwitch | InfiniBand/Ethernet+NIC |
| 帯域 | 毎秒TB級・全対全 | 毎秒数百Gb/s級・ホップ多い |
| メモリ | 統合(直接ロード/ストア) | 分離(RDMA/メッセージ) |
| 規模 | 数十GPU/ドメイン | 数千〜数万GPU |
両者には帯域の段差があります。NVLink域内は毎秒TB級、ラック間は毎秒数百Gb/s級で1桁前後落ちます。この段差がそのまま並列化戦略の境界になります。GPU間通信が最も濃いテンソル並列(1層を複数GPUで分担し毎ステップ大量に通信)は段差の上、すなわちNVLinkドメイン内に閉じ込め、通信が比較的疎なパイプライン並列・データ並列を遅いラック間に割り当てるのが定石です。
分散学習のマッピングは「どの並列軸をどの帯域に載せるか」に尽きます。通信量の多い軸を広いNVLink域内へ、少ない軸を遅いネットワークへ配置すると、遅い経路を流れるデータ量が減り、全体が速くなります。ハードのトポロジとソフトの並列構成を一致させることが鍵です。
「NVLinkはGPU間を直結する専用リンクでPCIeより一桁広い帯域」「NVSwitchはNVLinkのクロスバスイッチで全対全フル帯域」「P2P/統合メモリでCPUを介さず相手GPUの番地を直接アクセス」「ring all-reduceは1GPUの転送量がGPU数によらずほぼ一定でリンク帯域律速」「NVLink域内=スケールアップ、ラック間InfiniBand/Ethernet=スケールアウト」の5点が頻出です。
まとめ
- NVLinkはGPU間専用の広帯域直結リンクで、PCIe共有経路の帯域・遅延の制約を回避する。NVSwitchはそれをクロスバで束ね、全GPUを全対全フル帯域で結ぶ。
- リンクはP2P転送と統合メモリを支え、相手GPUのHBM番地を直接ロード/ストアできる。CPUコピーが消える。
- all-reduce(ring/tree)はリンク帯域で律速され、広いインターコネクトが分散学習を速くする。サイズ次第でアルゴリズムが切り替わる。
- NVLinkで密結合するスケールアップ(NVL72等)と、InfiniBand/Ethernetで束ねるスケールアウトの境界は帯域の段差にあり、通信の濃い並列軸を広い帯域へ載せるのが要諦。
GPUの並列実行そのものはSIMTとワープ実行を、I/Oファブリックの土台はPCI Expressの原理も合わせてどうぞ。
CPU/メモリ/ディスク Article
GPU間インターコネクト ─ NVLink/NVSwitchとスケールアップを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
NVLink
比較で見る軸
難易度: advanced / カテゴリ: CPU/メモリ/ディスク / タグ数: 5
導入後に効く点
all-reduce(勾配集約)はring/treeアルゴリズムで実行され、所要時間はリンク帯域と段数で決まる。インターコネクトが広いほど集合通信が速く、学習が速くなる。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- CPU/メモリ/ディスク
- タグ数
- 5
判断チェックリスト
- 自社の用途が「NVLink / NVSwitch」に近いか確認する。
- 強みである「NVLinkはGPU間を専用の高速リンクで直結し、PCIeより一桁広い双方向帯域でメモリをP2P転送する。NVSwitchはそのリンクをクロスバで束ね全GPUを全対全に結ぶ。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。