# NCCL
NVIDIA の Collective Communication Library。LLM 分散訓練で最も広く使われる CCL で、ノード内は PCIe/NVLink、ノード間は RDMA を使って all-reduce / all-gather / reduce-scatter 等の集団通信と P2P(send/recv)を提供する。(Source: [[2026__ASPLOS__Pulse - Fine-grained and Non-intrusive LLM Training Monitoring via Microsecond-level Traffic Measurement]], §2.1)
[[Pulse]] にとっての要点:
- 集団通信は **ring ベース / tree ベース**のアルゴリズムを count に応じて動的に選択するため、送信量はフックだけでは決まらない。Pulse はアクティブなピアのパターンから ring/tree を推定して期待送信量を導く(CollNet/NVLS は対象外)。
- 集団通信はデータを **slice**(≤1MB)に分割し、バブル緩和のため各集団通信を複数チャネル(≥2)に細分する(ノード間では 1 チャネル = 1 QP)。この slice 単位の同期がストラグラー由来のマイクロ秒のギャップを生む。
- **all-to-all** は NCCL 2.28 以前は専用オペレータを持たず P2P 操作の集合(カスタム集団通信)として実装され、MoE のトークンの dispatch/combine に使われる。Pulse は NCCL の Group call(`ncclGroupStart`/`End`)をフックして構成する P2P を束ねる。
他のソースでも LLM 訓練の標準通信基盤として頻出する([[MegaScale]]・[[Minder]]・LLM 訓練サーベイ)。
## 関連
- ソース: [[2026__ASPLOS__Pulse - Fine-grained and Non-intrusive LLM Training Monitoring via Microsecond-level Traffic Measurement]]
- 概念: [[LLM分散学習]] / [[並列化戦略]] / [[Mixture-of-Experts]] / [[LLM学習モニタリング]]
- エンティティ: [[Pulse]] / [[Megatron-LM]] / [[BlueField-3]]