deepseek-ai / deepseek-ai/DeepEP

Hybrid_EP Abnormal performance on B300 (2-node dispatch ~40GB/s) reveals hardcoded DEF_IB_TC; request env-based configurability (align with NVSHMEM)

Open
#608 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Cuda
Stars
10.1k
Forks
1.4k
Avg merge
4d 1h
Merged PRs (30d)
2

Description

**Description:**

In the current Hybrid EP implementation, the InfiniBand Traffic Class is hardcoded as:

```cpp
constexpr int32_t DEF_IB_TC = 0;
```

This makes the IB traffic class fixed at compile time and prevents users from tuning QoS / traffic prioritization dynamically based on deployment environments.

In contrast, NVSHMEM provides environment variable support (e.g., `NVSHMEM_IB_TC`) to configure the traffic class at runtime, which is very useful for performance tuning and congestion control in RDMA-based communication.

**Problem:**

* `DEF_IB_TC` cannot be adjusted without recompilation
* No flexibility for different cluster QoS configurations
* Inconsistent behavior compared to NVSHMEM and other RDMA-based stacks

**Suggestion:**
Introduce an environment variable (e.g., `HybridEP_IB_TC`) to override the default value. For example:

```cpp
int32_t get_ib_tc() {
const char* env = std::getenv("HybridEP_IB_TC");
if (env != nullptr) {
return std::atoi(env);
}
return DEF_IB_TC;
}
```

Then use `get_ib_tc()` instead of the compile-time constant.

**Benefits:**

* Enables runtime tuning without recompilation
* Aligns with NVSHMEM and common RDMA practices
* Improves flexibility for performance optimization under different network conditions

Would it be possible to add this support for better configurability?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.