Distributed inference field guide · 18 July 2026

WideEP
for Kimi K3

Kimi K3 has 896 routed experts but activates only 16 for a token. That saves arithmetic. It does not save placement. Wide Expert Parallelism turns the unused experts into distributed capacity—and turns every MoE layer into a carefully engineered movement of activations across a fabric.

Weights stayExperts remain resident on owners
Tokens travelActivations follow router choices
Two exchangesDispatch out, combine back
One failure domainEvery EP rank must participate
01 / What WideEP actually is

A placement strategy,
not a new neural layer.

Wide Expert Parallelism—WideEP—is the practice of spreading a model’s routed experts across a large GPU group, often beyond one eight-GPU node, while keeping attention and other dense work data-parallel or locally tensor-parallel.

In a Mixture-of-Experts transformer, the router selects a small top-k subset of feed-forward experts for each token. Expert parallelism assigns different experts to different ranks. “Wide” is not a mathematical threshold; it means the expert-parallel domain has been widened enough—tens of accelerators in current deployments—that each GPU holds only a small fraction of the expert pool.

Moonshot’s K3 post does not present WideEP as a Kimi-named algorithm. It does confirm the conditions that make the topology relevant: 2.8 trillion total parameters, 896 experts with 16 activated, a fully balanced expert-parallel method, static shapes, no host synchronization on the critical path, and a recommendation for supernodes with 64 or more accelerators. WideEP is the serving-system pattern that maps such sparse scale onto hardware.

The first correction: WideEP normally does not transmit an expert’s weights to a token. It transmits the token’s hidden-state activation to the GPU where that expert’s weights are already resident, runs the expert there, and sends the result back.
02 / Why K3 changes the serving geometry

Sparse compute.
Dense availability.

Only about 1.8% of K3’s 896 experts are selected for a token. Yet every expert must be reachable because the next router decision is data-dependent.

Sparsity reduces the expert FLOPs executed per token relative to evaluating all 896. It does not let the server discard the other 880 experts. Their weights must be stored across the serving replica, ready for whichever tokens route to them. This creates a split personality: the model has a huge resident parameter set but a much smaller active compute path.

Replicating all experts on every GPU wastes HBM. Sharding them across only a few GPUs leaves many experts per device and can make each decode step repeatedly stream a large local weight set. Widening EP lowers experts per rank, aggregates the HBM capacity and bandwidth of more GPUs, and sends more tokens from a larger global batch toward each resident expert.

01 / CAPACITY

All weights must live somewhere

Sparsity changes which matrices execute. It does not erase unselected expert matrices from the replica’s memory footprint.

02 / UTILIZATION

Fewer experts per rank

A wider domain can reduce the resident expert set per GPU, leaving more HBM for KV state and runtime buffers.

03 / AMORTIZATION

More tokens meet each expert

A large distributed batch can turn many tiny expert matrix multiplies into fewer, fatter grouped GEMMs with better weight reuse.

03 / The data path through one MoE block

The router writes
a network schedule.

For every MoE layer, routing decisions induce an irregular all-to-all: each source rank may send a different number of token–expert assignments to every destination rank.

Local tokensDP rank owns request/KV
Router + top-kExpert IDs and weights
DispatchPermute, pack, all-to-all
Expert GEMMsCompute on owner GPUs
Expert outputsOne result per assignment
CombineReverse all-to-all
Weighted sumRestore token order
Next sublayerBack on source rank

The apparent “all-to-all” is not a broadcast of every token to every rank. It is a sparse personalized exchange.

The source rank computes the gating scores and top-k expert IDs. A dispatcher counts destinations, allocates or selects communication slots, permutes token activations into destination-contiguous buffers, attaches routing metadata, and transfers each assignment to its expert owner. The receiver groups tokens by local expert and launches expert matrix multiplies. A combine phase reverses the route, after which the source rank unpermutes and applies routing weights.

One logical token becomes k expert assignments. With top-16 routing, up to sixteen activation payloads depart and sixteen expert outputs return for each token at each routed layer. Local assignments can stay on-GPU, so physical link traffic depends on expert placement and routing distribution—not simply on top-k.

Weight movement vs activation movementSteady state: local HBM repeatedly feeds resident expert weights into compute; the fabric carries token activations, expert outputs and routing metadata. Occasionally: weights move during checkpoint load, replica startup, expert rebalancing, recovery or online placement changes. Calling every dispatch a “weight exchange” is incorrect.
04 / A concrete K3 placement thought experiment

896 experts across 64 ranks:
fourteen per rank, per routed layer.

If one copy of a layer’s 896 experts is evenly placed over an EP64 domain, simple division yields 14 experts per rank. That is a topology example, not a disclosed K3 deployment blueprint.

The dense attention path can be replicated across 64 data-parallel ranks, or sharded inside smaller tensor-parallel groups while EP spans the wider domain. Each data-parallel rank owns its requests and their sequence state. At an MoE block, its tokens fan out across the entire EP group; after combine, the rank resumes the dense path locally.

Moonshot says K3 benefits from large high-bandwidth communication domains and recommends 64-plus-accelerator supernodes. The exact production mapping—EP width, tensor parallelism, pipeline stages, expert replicas and prefill/decode split—remains a systems choice and had not been fully disclosed in the launch post.

RANK 00E000–E01314 resident experts
RANK 01E014–E02714 resident experts
RANK 02E028–E04114 resident experts
RANK 03E042–E05514 resident experts
RANK 04E056–E06914 resident experts
RANK 05E070–E08314 resident experts
RANK 06E084–E09714 resident experts
… RANK 63E882–E895illustrative mapping
Ideal experts per ranktotal routed experts ÷ expert-parallel width = 896 ÷ 64 = 14
K3 router sparsity16 / 896

Sixteen selected experts, roughly 1.8% of the pool.

Illustrative EP width64

Matches the minimum supernode scale Moonshot recommends, not a required EP setting.

Ideal placement14

Expert copies per rank per routed layer, before redundancy or replication.

Probability local1 / 64

Expected share of uniformly routed assignments local to a source rank under a one-owner EP64 placement.

05 / Price the bytes

Top-k multiplies traffic.
Locality subtracts it.

A useful first-order model counts activation bytes, not total parameter bytes. For one routed layer, payload scales with tokens, hidden width, element size and selected experts.

Ignoring metadata, padding and local assignments, dispatch emits approximately T × k × H × B bytes and combine returns a similar volume, where T is tokens in the global step, k is selected experts per token, H is hidden-state width, and B is bytes per transported element. The actual wire volume falls with local routes and can rise with alignment, duplicate handling, capacity padding, protocol overhead or retransmission.

This is why low-precision dispatch matters. DeepEP explicitly supports FP8 dispatch and BF16 combine in published examples. A runtime may quantize the outbound activation, carry scales, compute in another format and return at higher precision. The correct comparison includes conversion kernels, scale metadata and any accuracy impact.

Approximate link payload2 × T × k × H × B × remote_fraction + metadata
Illustrative, not a K3 traffic disclosure: if H = 8,192, k = 16 and activations travel in one byte, dispatch is 128 KiB per token per routed layer before locality and metadata; the symmetric return makes 256 KiB. At EP64 with uniform placement, about 63/64 of assignments are remote. Multiply by routed layers and tokens per second to see why the fabric can become first-order.
PREFILL MODE

Throughput dominates

Many prompt tokens create large exchanges and sizable expert batches. High-throughput kernels, bulk bandwidth and communication–compute overlap matter most.

DECODE MODE

Tail latency dominates

Each sequence contributes few new tokens per step. Messages are smaller, synchronization is frequent, and microseconds of software or fabric latency compound by layer.

BATCHING

Two opposing effects

Larger batches increase network bytes but also improve expert GEMM size, weight reuse and the opportunity to hide communication.

06 / NVLink is not InfiniBand

WideEP crosses
two communication regimes.

Inside a scale-up domain, GPUs communicate over NVLink and NVSwitch-class fabrics. Across conventional nodes, traffic traverses GPU–NIC paths and an RDMA network such as InfiniBand or RoCE.

PathTypical roleWideEP concernOptimization targetStatus
Same GPULocal expert assignmentNo fabric hop; still permute and HBM trafficFused layouts, grouped GEMMLocal
NVLink / NVSwitchIntra-node or rack-scale scale-upHigh bandwidth, low latency, topology still mattersDirect GPU exchange, fused all-to-allNear
RDMA fabricCross-node scale-outNIC bandwidth, PCIe/GPUDirect path, switch contention, RTTHierarchical routing, adaptive routing, overlapFar
CPU control pathScheduling and orchestrationHost synchronization can serialize the critical pathStatic shapes, GPU-resident metadata and signalingAvoid hot path

A rack-scale NVLink domain changes the feasible shape of the collective, but it does not make communication free.

NVIDIA positions GB200 NVL72 as one NVLink domain spanning 72 Blackwell GPUs. That type of scale-up fabric fits a 64-rank EP group without forcing the hot all-to-all through a conventional leaf–spine Ethernet or InfiniBand network. On standard eight-GPU nodes, an EP64 deployment spans eight servers and the inter-node stage becomes essential.

A hierarchical dispatcher should exploit locality: aggregate traffic for a remote node, use NVLink within each node, send consolidated payloads through the relevant NICs, then redistribute on the destination. Rail-aware placement, multiple queue pairs, balanced NIC affinity, adaptive routing and traffic isolation can determine whether headline bandwidth becomes application bandwidth.

07 / The real payoffs

WideEP buys efficiency
with a bigger coordination surface.

HBM capacity

Fewer expert weights on each GPU

Sharding the expert pool more widely reduces the expert footprint per rank. The freed HBM can hold more KV state, larger batches, communication buffers or allocator headroom.

Aggregate bandwidth

More HBM channels work in parallel

Expert weights are read from many GPUs at once. Aggregate device-memory bandwidth rises with the rank count, provided routing and fabric delivery keep every rank fed.

Arithmetic intensity

Hot experts see a larger token pool

Tokens from many data-parallel ranks converge on each expert owner. Larger grouped GEMMs reuse resident weights across more tokens and can move decode away from tiny, bandwidth-bound matrices.

Attention scaling

DP avoids a global attention all-reduce

With data-parallel attention, each rank handles its own requests and KV cache. Communication is concentrated around sparse experts instead of imposing a wide tensor-parallel collective on every dense layer.

The payoff is workload-dependent. WideEP is strongest when expert HBM pressure limits batch size, the global batch is large enough to form efficient expert GEMMs, and the fabric can hide or absorb dispatch/combine. At low load, its extra GPUs and collective latency can deliver worse economics than a narrower replica.
08 / Routing is infrastructure

An imbalanced router
creates a network hotspot.

Expert popularity is not just a model-quality statistic. It controls receive-buffer sizes, GEMM shapes, NIC traffic and the time every other rank waits at the combine boundary.

If many tokens choose a few experts, their owner GPUs become stragglers while other ranks idle. Capacity factors or token dropping can bound work, but dropping changes model behavior. Dynamic expert replication or migration can spread hot experts, but moving weights consumes bandwidth and requires a consistent routing map.

Moonshot says K3 uses Quantile Balancing to derive expert allocation from router-score quantiles and introduces a fully balanced expert-parallel training method with static shapes and no host synchronization on the critical path. That is important twice: it trains the router toward a manageable load distribution, and it makes communication schedules more predictable for large-scale execution.

Skewed arrivals

One expert owner dictates the layer’s completion time.

Balanced arrivals

Similar expert batches improve utilization and static buffer planning.

Layer latency≈ dispatch + max(expert-rank compute) + combine
09 / Where DeepEP fits

The model chooses experts.
The communication library moves tokens.

DeepEP is an open-source, MoE-focused communication library from DeepSeek. It is relevant infrastructure for WideEP, not proof that every Kimi deployment uses exactly that stack.

DeepEP exposes dispatch and combine primitives for high-throughput and low-latency modes, supports intra-node NVLink and inter-node RDMA, and is designed to minimize the streaming multiprocessors consumed by communication. Its normal/high-throughput path targets training and prefill-like large batches; its low-latency path targets decode-like small batches.

Modern serving stacks can integrate a DeepEP backend behind a flexible token dispatcher. NVIDIA’s Megatron Core documentation distinguishes standard NCCL all-to-all from a DeepEP flex dispatcher that fuses intra- and inter-node communication and avoids redundant cross-node tokens. TensorRT-LLM and NVIDIA Dynamo also expose WideEP configurations. These are implementation choices beneath the same topology.

DeepEP’s published numbers are microbenchmark results for stated shapes and hardware—not universal application throughput. A complete K3 measurement must include routing, permutation, quantization, expert compute, synchronization, network contention and tail latency across the actual number of MoE layers.

Stack boundaryModel: router scores, top-k, expert math and combine weights. Runtime: batching, request ownership, expert placement and buffer sizing. Communication backend: permutation, dispatch, transport and combine. Cluster: topology, NICs, switches, isolation, health and scheduling.
10 / Costs and failure modes

The wider the collective,
the larger the blast radius.

01 / LATENCY

Small-message decode

Decode synchronizes frequently. Kernel launch, signaling and RTT costs that vanish in a throughput benchmark can dominate inter-token latency.

02 / STRAGGLERS

The slowest rank wins

A hot expert, degraded link, noisy neighbor or uneven batch holds up combine and therefore the entire participating group.

03 / RELIABILITY

Gang semantics

A partial EP group is not serviceable: tokens may route to any rank. One failed GPU can invalidate the group and require collective reconstruction.

04 / MEMORY

Communication buffers

Wide all-to-all needs send, receive, metadata and workspace capacity. The HBM released by expert sharding is not all available to KV cache.

05 / NETWORK

Synchronized bursts

Many layers produce synchronized personalized traffic. Oversubscription or shared-fabric interference can create nonlinear tail latency.

06 / COST

Minimum efficient load

A 64-GPU group is expensive when traffic cannot fill it. Admission control and multiple replicas must balance utilization against latency and resilience.

Operationally, WideEP should be scheduled as a gang. Ray’s WideEP guidance notes that dispatch/combine ranks must coordinate and a rank failure requires the whole data-parallel-attention/expert-parallel group to fail over and re-establish collectives. Production designs therefore need multiple independent groups, health-gated routing, atomic replacement, checkpoint locality, spare capacity and bounded recovery procedures.

Elastic expert placement can reduce disruption or adapt to load, but it adds a control-plane consistency problem: every router must agree which rank owns each expert version, and in-flight tokens must finish against a valid map. Observability must join model and network metrics rather than treating them separately.

11 / A production checklist

Measure the route,
not just the matrix multiply.

  1. Inventory bytes by class.Separate resident expert weights, replicated dense weights, KV cache, activations, dispatch buffers and allocator reserve. Never count “free HBM” from expert sharding twice.
  2. Choose parallelism as a topology.Map DP, EP, TP and pipeline groups to actual NVLink domains, NUMA nodes, NIC rails and switches. A mathematically valid factorization can be physically poor.
  3. Benchmark prefill and decode separately.Use the real token counts, top-k, hidden width, dtype and expert distribution. Report TTFT, inter-token latency, throughput and tail percentiles.
  4. Track expert skew per layer.Measure tokens per expert, dropped or rerouted assignments, maximum-to-mean load, grouped-GEMM sizes and rank idle time.
  5. Track the fabric end to end.Observe NVLink, PCIe, NIC and switch counters; per-peer bytes; queueing; retransmits; adaptive-routing behavior; and communication-SM occupancy.
  6. Prove overlap.Timeline dispatch, expert GEMMs and combine. “Asynchronous” APIs do not guarantee useful overlap when data dependencies or SM contention serialize execution.
  7. Design the failure domain.Run multiple independently routable EP gangs, test single-rank loss, make startup and teardown atomic, and budget weight reload time.
  8. Sweep width under real demand.Compare EP8, EP16, EP32 and EP64 where possible. Select by goodput at the service objective—not peak tokens per second in saturation.
12 / Bottom line

WideEP converts
model sparsity into system parallelism.

Kimi K3’s 16-of-896 routing means little compute touches enormous latent capacity. WideEP is how a serving system can keep that capacity available without making every GPU store it all.

The mechanism is precise: place expert weights across many GPUs; keep them resident; route token activations to their owners; batch work by expert; send outputs back; continue the request on its source rank. The weight corpus creates the HBM floor. The dispatch/combine path creates the fabric bill.

The payoffs are substantial—lower expert memory per rank, more aggregate HBM bandwidth, larger KV capacity and better expert GEMMs. The trade is equally substantial: two irregular exchanges around each routed layer, sensitivity to router skew, a larger synchronized failure domain, more buffers and a higher minimum efficient cluster size.

That is why Moonshot’s call for 64-plus-accelerator, high-bandwidth supernodes is not incidental. At K3 scale, the interconnect is part of the inference engine. The best deployment is not the widest one; it is the width at which extra HBM and compute efficiency still outweigh dispatch latency, fabric cost and operational risk.

Companion analysis → The Kimi K3 Paradox: why shrinking sequence state can coexist with rising GPU, HBM and fabric demand.
13 / Sources & evidence

Primary sources first.

K3-specific facts come from Moonshot’s launch post. WideEP, communication and hardware behavior comes from framework documentation and original project repositories. Calculations labeled illustrative are derived from the formulas shown and are not claimed production measurements. Accessed 18 July 2026.

  1. 01Moonshot AI — Kimi K3 launch and architecture post
  2. 02DeepEP — dispatch/combine modes, requirements and benchmarks
  3. 03NVIDIA Megatron Core — MoE token dispatchers and DeepEP backend
  4. 04NVIDIA Dynamo — WideEP definition
  5. 05NVIDIA Dynamo — TensorRT-LLM WideEP support
  6. 06TensorRT-LLM — WideEP configuration example
  7. 07TensorRT-LLM — one-sided MoE all-to-all over NVLink
  8. 08NVIDIA GB200 NVL72 — rack-scale NVLink domain
  9. 09NVSHMEM documentation — GPU-initiated communication
  10. 10NCCL documentation — collective communication semantics
  11. 11Ray Serve — gang scheduling for WideEP groups
  12. 12DeepSeekMoE — sparse expert architecture paper
Disclosure boundary: Moonshot’s launch post states 2.8T parameters, 16-of-896 experts, balanced EP training, static shapes, no host synchronization on the critical path, and a 64-plus-accelerator deployment recommendation. It does not disclose a complete K3 inference parallelism map or say that the production service uses the DeepEP library. Those distinctions are preserved throughout.