Vibeleaderboard
Index / app
Visit github.com
Category
AI Tools
Rank
Type
APP
Latest release
v1.2.1
Date

About

DeepEP is a communication library for Mixture-of-Experts (MoE) and expert parallelism, providing high-throughput, low-latency all-to-all GPU kernels for MoE dispatch and combine, with support for low-precision (FP8) operations.

What it does

DeepEP moves routed model tokens between GPUs during training, prompt processing, and decoding. A shared buffer abstraction manages routing metadata, communication storage, and synchronization. Runtime compilation prepares the GPU kernels, while event objects let independent computation proceed until transferred tensors are needed.

Why it's ranked here

DeepEP targets a narrow but difficult systems problem with unusually concrete engineering. Its current design reuses NCCL communicators, calculates communication resource counts analytically, and documents measured bandwidth across NVLink and RDMA configurations. The repository reports up to 1.3 times the previous peak performance while using up to four times fewer streaming multiprocessors. That value comes with strict hardware and cluster requirements.

What's good

The unified buffer covers both throughput-oriented and latency-oriented expert traffic, reducing separate integration paths. Cached routing metadata can avoid repeated CPU synchronization during decoding. Communication can run asynchronously with compute, with explicit events controlling when results become usable. Runtime kernel compilation also removes CUDA compilation from installation, and documented reference implementations provide correctness baselines for dispatch and reduction behavior.

Tradeoffs

Current requirements start with Hopper-class instruction support, recent CUDA, PyTorch, and NCCL versions. NVLink is required within nodes, while multi-node operation needs RDMA. The newer buffer consumes more memory than its predecessor, and zero-streaming-multiprocessor low-latency RDMA expert communication was removed. Pipeline parallelism, context parallelism, and remote memory access remain experimental. Legacy support still makes NVSHMEM a build dependency.

How to use it well

Use DeepEP when building or tuning distributed mixture-of-experts training, prompt processing, or decoding on a controlled NVIDIA cluster. Benchmark it against your actual topology, token load, and expert layout, then overlap transfers with independent GPU work. Cache routing metadata when decoding decisions repeat. It does not provide models, expert routing policy, orchestration, or general distributed collectives.

Technical notes+

setup.py builds the deep_ep Python package plus the CUDAExtension deep_ep._C from csrc/python_api.cpp and CUDA sources, linking CUDA, NCCL, and NVSHMEM. deep_ep/__init__.py checks the loaded NCCL binary against the linked library, initializes the JIT with CUDA and NCCL roots, then exports ElasticBuffer, EPHandle, Buffer, and EventOverlap. deep_ep/utils/comm.py caches or creates NCCL communicator handles and can reuse PyTorch's communicator. deep_ep/utils/event.py wraps CUDA-event synchronization and post-wait hooks. deep_ep/utils/refs.py contains PyTorch distributed reference implementations, while deep_ep/utils/testing.py supplies CUDA-event and Kineto benchmarking helpers.

Observed

Primary languages
Python with C++ and CUDA extension sources
Install surface
Setuptools package installed with python setup.py install
Interface
Importable Python library backed by a PyTorch CUDA extension
GPU platform
Hopper SM90 GPUs or architectures supporting the SM90 PTX instruction set
Software requirements
Python 3.8+, CUDA 12.3+, PyTorch 2.10+, and NCCL 2.30.4+
Cluster fabric
NVLink for intranode communication and RDMA for internode communication
Compilation model
Communication kernels compile at runtime through a lightweight JIT module
Test structure
Documented elastic tests cover expert parallelism, remote memory access, pipeline parallelism, and related primitives

Read from README.md, setup.py, pyproject.toml, docs/legacy.md, docs/nvshmem.md, deep_ep/__init__.py, csrc/python_api.cpp, deep_ep/utils/comm.py, deep_ep/utils/envs.py, deep_ep/utils/gate.py, deep_ep/utils/math.py, deep_ep/utils/refs.py, deep_ep/utils/event.py, deep_ep/utils/testing.py, deep_ep/utils/__init__.py.

What it can do

  • Execute high-throughput all-to-all GPU communication for MoE dispatch

    Token data and expert routing informationDistributed token data across expert nodes

  • Execute low-latency all-to-all GPU communication for MoE combine

    Expert computation results from distributed nodesCombined expert outputs

  • Perform low-precision FP8 operations for MoE communication

    High-precision tensor dataFP8 optimized tensor data for faster transmission

  • Optimize asymmetric-domain bandwidth forwarding between NVLink and RDMA

    Data requiring cross-domain transferOptimized data transmission across network domains

  • Control Streaming Multiprocessor allocation for kernel execution

    SM resource requirements and constraintsConfigured SM resource allocation

  • Enable communication-computation overlapping without SM resource usage

    Computation tasks and communication operationsOverlapped execution reducing overall latency

  • Execute group-limited gating algorithm for expert selection

    Input tokens and gating parametersExpert assignment following DeepSeek-V3 algorithm

Tech Stack

Python

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.