TL;DR

DeepSeek vừa gửi PR #605 mở bản DeepEP v2.0.0 — refactor toàn diện thư viện all-to-all cho Mixture-of-Experts. API mới ElasticBuffer + EPHandle, backend đổi từ NVSHMEM sang NCCL Gin (header-only), full JIT, đạt up to 1.3× peak so với v1 trong khi tiết kiệm tới 4× số SM. Scale domain lên tới EP2048, cộng thêm 3 chế độ mới zero-SM: Engram (remote KV fetch), Pipeline-Parallel send/recv, Context Parallelism.

Có gì mới trong v2

  • API mới: ElasticBuffer làm entry point chính, kèm EPHandle cho orchestration. Buffer cũ vẫn export để backward-compat — bạn không phải viết lại toàn bộ.
  • Full JIT: toàn bộ kernel biên dịch on-the-fly, bỏ bước build CMake đau đớn.
  • Backend mới: thay NVSHMEM bằng NCCL Gin — header-only, nhẹ, dễ ship.
  • Unified API: high-throughput kernels và low-latency kernels dùng chung layout GEMM.
  • Hybrid multi-node comms: giữ nguyên hierarchical NVLink + RDMA, nhưng cắt SM cost mạnh.
  • Ba chế độ 0-SM mới (experimental): Engram remote KV fetch (RDMA), Pipeline Parallelism send/recv (RDMA), Context Parallelism (Copy Engine). Cả ba đều không ăn một SM nào cho truyền thông.

Vì sao điều này quan trọng

Với training và serving MoE ở scale lớn, communication là kẻ ăn SM thầm lặng — một lần dispatch/combine của DeepSeek-V3 trước đây ngốn 24 SMs chỉ để đẩy token qua lại. DeepEP v2 hạ xuống 4–6 SMs, đồng nghĩa 18–20 SMs được trả về cho compute (GEMM + attention). Kết quả trực tiếp: tokens/giây/GPU tăng, và $/token giảm — đặc biệt có ý nghĩa với các đội đang phải chi nhiều triệu USD cho inference cluster H100/H200.

Quan trọng hơn, hỗ trợ EP2048 biến ý tưởng 2048-way expert parallel từ con số trên paper thành chuyện có thể chạy được bằng một thư viện mã nguồn mở. Trước đây con số này chỉ tồn tại trong internal stack của vài phòng lab lớn.

Số liệu kỹ thuật

Cấu hình test: DeepSeek-V3 style — 8K tokens/batch, hidden 7168, top-k experts, FP8 dispatch, BF16 combine.

HardwareDispatch BWCombine BWSM used
SM90 (H100/H800) + CX7 InfiniBand90 GB/s81 GB/s12
SM100 (Blackwell) NVLink — 64 SMs max726–740 GB/s64
SM100 NVLink — 24 SMs min643–675 GB/s24
  • Scale tối đa: EP2048 cho cả scale-up và scale-out domain.
  • Peak perf so với v1: up to 1.3×.
  • SM tiết kiệm cho V3-legacy training: up to 4× (24 → 4–6 SMs).
  • Auto-tuning sweep bị bỏ, thay bằng analytical SM & QP count calculation — bạn không phải benchmark để tìm config nữa.

So sánh v1 vs v2

Khía cạnhDeepEP v1.2.1DeepEP v2.0.0
Entry APIBufferElasticBuffer + EPHandle (Buffer vẫn còn)
Backend commNVSHMEMNCCL Gin (header-only)
Build modelCMake build-aheadFull JIT
SM cho V3 training244–6
Peak throughputbaselineup to 1.3×
Scale tối đa~EP256–512 thực dụngEP2048
TuningAuto-tune sweepAnalytical SM/QP
Ngoài dispatch/combineKhôngEngram, PP, CP (0 SM)
0-SM RDMA low-latency EPĐã bỏ

Use cases thực tế

  • MoE training ở scale cực lớn: team chạy 2048-way EP cho các model kiểu DeepSeek-V3/R1 giờ có một thư viện ref-quality để dùng.
  • Inference MoE cost-hiệu-quả: cắt 4× SM cho comm → nhiều SMs hơn cho compute. Với vLLM/SGLang/TensorRT-LLM forks đang vật lộn với MoE serving, đây là free lunch thật sự.
  • KV-cache disaggregation qua Engram: fetch KV từ node khác mà không tốn SM — rất hợp với kiến trúc disaggregated prefill/decode đang trở thành best practice.
  • Long-context training: 0-SM Context Parallelism dùng Copy Engine giúp training 128K–1M context dễ hơn.
  • Pipeline-parallel workloads: PP send/recv 0-SM giải phóng SM cho compute bubble reduction.

Giới hạn & pricing

  • Open-source MIT, free — không paywall, dùng được ngay khi PR #605 merge (dự kiến 26/04/2026).
  • Hardware: Hopper (SM90) hoặc Blackwell (SM100) cho peak perf. Ampere (SM80) chạy được nhưng không nằm trong benchmark release.
  • Buffer size lớn hơn v1 — trade-off đổi lấy throughput; cần nhiều HBM hơn cho communication buffer.
  • 0-SM RDMA low-latency EP bị loại bỏ: team nào đang dựa vào chế độ này trong v1 phải migrate sang API mới.
  • Engram/PP/CP là experimental — API và perf có thể thay đổi.
  • NCCL Gin là backend lạ với nhiều người; stack đã fine-tune quanh NVSHMEM có thể cần re-test.

Tiếp theo là gì

PR #605 có tag [Public release 26/04] → public ổn định dự kiến 26/04/2026. Sau đó cộng đồng chờ docs chính thức cho ElasticBuffer/EPHandle, benchmark trên Blackwell B200/B100, và migration guide v1 → v2.

Xa hơn, nhánh mori-EP (AMD community fork) và NCCL backend PR #521 cho thấy hướng multi-vendor — v2 với NCCL Gin là bước dọn đường. Nếu bạn đang xây MoE stack, đây là lúc thử nghiệm và feedback trước khi v2.1 lock API lại.

Nguồn: DeepEP PR #605, DeepEP repo, tweet by @AiBattle_.