Skip to navigation

nemo_automodel.components.moe.uccl_ep

View as Markdown

UCCL-EP integration for expert parallelism.

UCCL-EP (https://github.com/uccl-project/uccl/tree/main/ep) has the same interface and functionality as DeepEP, and enables GPU-initiated communication for MoE models across heterogeneous GPUs and NICs.

Vendored files (from https://github.com/uccl-project/uccl/tree/main/ep/deep_ep_wrapper): _buffer.py <- deep_ep_wrapper/deep_ep/buffer.py _utils.py <- deep_ep_wrapper/deep_ep/utils.py

Usage: Set dispatcher: uccl_ep in the model backend config.

Submodules

Package Contents

Classes

NameDescription
UCCLBufferBuffer subclass that auto-detects intranode mode.

API

class nemo_automodel.components.moe.uccl_ep.buffer.UCCLBuffer(
group,
num_nvl_bytes: int = 0,
num_rdma_bytes: int = 0,
low_latency_mode: bool = False,
num_qps_per_rank: int = 24,
allow_nvlink_for_low_latency_mode: bool = True,
allow_mnnvl: bool = False,
explicitly_destroy: bool = False,
is_intranode: bool = False
)

Bases: Buffer

Buffer subclass that auto-detects intranode mode.

When all EP ranks fit on a single node (group_size <= LOCAL_WORLD_SIZE), RDMA is disabled and only NVLink is used, avoiding RDMA MR registration failures on single-node setups.