mirror of
https://github.com/deepseek-ai/DeepEP.git
synced 2026-11-05 00:47:32 +00:00
[PR #420] [MERGED] Add HybridEP solution for normal mode intranode dispatch/combine #558
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
deepseek-ai/DeepEP#558
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/deepseek-ai/DeepEP/pull/420
Author: @jershi425
Created: 9/21/2025
Status: ✅ Merged
Merged: 9/22/2025
Merged by: @jershi425
Base:
hybrid-ep← Head:deepep_publish📝 Commits (1)
235c78dAdd HybridEP📊 Changes
9 files changed (+4460 additions, -1 deletions)
View changed files
➕
csrc/hybrid_ep.cu(+845 -0)➕
csrc/hybrid_ep.cuh(+270 -0)➕
csrc/kernels/hybrid_ep_backend.cuh(+2571 -0)➕
csrc/kernels/hybrid_ep_backend_configs.hpp(+80 -0)📝
deep_ep/__init__.py(+2 -0)➕
deep_ep/hybrid_ep_buffer.py(+247 -0)📝
setup.py(+47 -1)➕
tests/test_mnnvlink_hybridep.py(+274 -0)📝
tests/utils.py(+124 -0)📄 Description
Hybrid Expert Parallel (Hybrid-EP) Implementation
Overview
This PR introduces the Hybrid Expert Parallel (Hybrid-EP) implementation to the DeepEP library, developed by NVIDIA as an optimized solution for large-scale MoE (Mixture of Experts) model all-to-all communication. This implementation is specifically designed to leverage NVIDIA GPU hardware capabilities, significantly reducing Streaming Multiprocessor (SM) resource usage while dramatically improving communication efficiency and overall throughput.
🎯 Design Goals
🏗️ Core Architecture
Communication Operators
Hierarchical Communication Design
*Note: RDMA functionality will be available in upcoming releases following comprehensive testing.
🔧 Implementation Features
Hardware Optimizations
Supported Data Types
CUDA Graph Integration
*RDMA features are currently under final testing and will be released shortly.
📊 Performance Results
B200 Platform
Test Configuration:
Performance Comparison (Bandwidth in GB/s):
Key Performance Improvements (at 16 SM):
GB200 Platform
Test Configuration:
Note: All bandwidth values represent algorithm bandwidth.
HybridEP Performance Results (Bandwidth in GB/s):
DeepEP Performance Results (Bandwidth in GB/s):
GB200 Performance Highlights:
🏛️ Code Structure
New Files
Build Instructions
Follow the same build process as the main branch. No additional dependencies required.
🚀 Usage Guide
Quick Start
Refer to
tests/test_mnnvlink_hybridep.pyfor comprehensive usage examples including:Important Configuration Note
Current Limitation: Due to template-based optimization, parameters in the Python test file must match those defined in
csrc/kernels/hybrid_ep_backend_configs.hpp. After modifying the header file, recompilation and reinstallation are required.Future Enhancement: We plan to implement Just-In-Time (JIT) compilation to eliminate this manual configuration requirement and improve developer experience.
📋 Implementation Status & Roadmap
✅ Current Features
🚧 Upcoming Features
⚠️ Current Limitations
🎯 Migration Notes
This implementation maintains full backward compatibility with DeepEP. Users can seamlessly integrate Hybrid-EP into existing workflows without code modifications.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.