# DeepEP
DeepSeek が開発した高スループットのエキスパート並列(EP)通信ライブラリ(github.com/deepseek-ai/DeepEP)。MoE モデルにおけるトークンのディスパッチ/コンバインを高効率に実行する。
[[Composer 2]] の訓練で EP のトークン分配に使用される。通信バッファのオーバーヘッドが低く、デフォルトで 20 SM を使用して並行計算の余地を残す。Composer 2 ではディスパッチ前にトークンを MXFP8 へ量子化して通信効率を向上させ、コンバインは BF16 で精度を維持する。
[[SGLang]] の 96 H100 GPU 展開では、DeepEP を **Normal Dispatch**(長入力最適化、Prefill 向け、CUDA Graph 非対応)と **Low-Latency Dispatch**(出力生成最適化、Decode 向け、CUDA Graph 対応)の 2 モードで統合し、[[Prefill-Decode分離|PD Disaggregation]] により Prefill/Decode で異なるモードを同時に使い分けた。Prefill 側では normal dispatch の出力を [[DeepGEMM]] の連続レイアウトへ変換するカスタム Triton カーネルが併用される。(Source: [[@2025__LMSYS Blog__Deploying DeepSeek with PD Disaggregation and Large-Scale Expert Parallelism on 96 H100 GPUs]])
[[NCCL]] GIN(GPU-Initiated Networking、[[@2025__arXiv__GPU-Initiated Networking for NCCL]])は、DeepEP のディスパッチ/コンバインカーネルを NVSHMEM/IBGDA ベースの実装から移行する統合検証先として DeepEP を選んだ。DeepEP は High-Throughput(HT、訓練・推論プリフィル向け、24 QP 要求)と Low-Latency(LL、推論デコード向け、8〜16 QP 要求)の2種のカーネルを持ち、NCCL GIN は1通信子あたり4コンテキストのみを提供するため、必要な QP 数を満たすには `⌈QPs/4⌉` 個の通信子を確定的な選択(`comm_id = id/4, ctx_id = id%4`)で使い分ける統合を要した。NVSHMEM のポインタベース PGAS アドレシング・メモリアトミック同期から、NCCL GIN のウィンドウベースアドレシング・シグナルアトミック同期への移行では、ゼロバイト put + アトミックシグナルで release-acquire 意味論を模擬する変換が鍵となった。移行後の性能は HT で NVSHMEM 比1〜2%以内、LL(NVLink 有効)で NCCL GIN がわずかに上回る(1ノードで185.28GB/s 対182.15GB/s)結果を示し、NVSHMEM ベース実装からの移行が現実的な性能コストで可能であることを実証した。(Source: [[@2025__arXiv__GPU-Initiated Networking for NCCL]])
## 出典
- [[@2026__arXiv__Composer 2 Technical Report]] §6.1
- [[@2025__LMSYS Blog__Deploying DeepSeek with PD Disaggregation and Large-Scale Expert Parallelism on 96 H100 GPUs]]
- [[@2025__arXiv__GPU-Initiated Networking for NCCL]]