Pool by destination GPU
Direct fixed expert cells failed at the 8-of-384 shape. MHEP-055 had a 192.65 GiB XLA estimate and failed on a 123.49 GiB CUDA allocation. A destination pool removes the global expert axis from the transport buffer.
MoE transport design report · 17 August 2026
TL;DR: The merged sender CF 1.10 and receiver CF 1.15 configuration completed a 20-step one-rack gate without an OOM. Median throughput for steps 2 through 19 was 250,691 tokens/s. The transport keeps all collective shapes static, uses three waves, and does not exchange token counts. It reports sender and receiver drops separately. The short hero gate does not establish the final drop rate.
01 · Model position
Each of the 48 transformer blocks has an attention branch and an MoE branch. The fixed pooled-wave transport is only in the routed expert path. The two shared experts stay local.
02 · Rack view
The sender does not allocate one transport cell for each of 384 experts. It allocates 64 destination pools for each wave. The receiver reads the local expert ID from the same BF16 payload.
wave = rank mod 3. pool row = rank ÷ 3.64 GPUs. Each sender has one pool for every GPU.
GPU 42 decodes six local expert IDs from the payload.
03 · One wave
All three waves use the same array shapes. The waves run in order and add their results to one FP32 output accumulator. Each wave has a forward all-to-all and a reverse all-to-all.
[64, 3004, 3072]
One fixed pool for each destination. One extra full-width header row carries the local expert IDs.
[64, 3005, 3072]
The shape includes the header. Each GPU sends and receives the same number of BF16 values.
[6, 33497, 3072]
The receiver groups rows by local expert. Rows above 33,497 for one expert in one wave are dropped.
6 × SwiGLU
The receiver computes all six local experts in one batched operation. It expands the rows and uses the reverse fixed all-to-all.
04 · Capacity and memory
Sender capacity controls traffic from one source to one destination. Receiver capacity controls the final load for one local expert. The second limit is necessary because traffic from 64 senders can select the same expert.
The global batch is 1024. The sequence length is 4096. The expert axis has 64 GPUs.
This fixed pool is for one destination GPU in one wave.
This fixed array is for one local expert in one wave.
These values show array payload size. They do not show full device peak memory. The full peak also includes parameters, gradients, copies, compiler temporaries, and allocator reserve.
05 · Design basis
The design came from measured memory limits and XProf traces. Some choices have a direct A/B result. Other choices use the measured fit boundary and a simple memory model.
Direct fixed expert cells failed at the 8-of-384 shape. MHEP-055 had a 192.65 GiB XLA estimate and failed on a 123.49 GiB CUDA allocation. A destination pool removes the global expert axis from the transport buffer.
A three-expert bank fit at 182.47 GiB in MHEP-057. A six-expert bank failed at 193.77 GiB in MHEP-058. Sequential waves keep only part of the receiver bank active.
MHEP-101 used two local expert-capacity units in each of three waves. It reached 270,799 tokens/s. MHEP-102 used three units in each of two waves. It reached 268,462 tokens/s. Three waves were 0.87% faster in this short profile test.
At receiver CF 1.33, the main fixed A2A shape grew to [6,64,1816,3072]. Fixed A2A self-time increased by 34.36%. NCCL send and receive time increased by 35.27%. Communication was 27.0% of exclusive device time.
Each sender and receiver knows all static shapes. The expert ID uses one packed full-width header row in the activation payload. This avoids a count exchange and a second metadata collective.
For total assignments T, sender drops S, and receiver drops R, the additive rates are S/T and R/T. They add to total drop rate. The conditional receiver rate is R/(T-S).
The six-expert bank failed before a timed step with the original device parameter storage. The BF16 parameter test MHEP-059 completed 10 steps at 286,467 tokens/s. The optimizer state and the FP32 master parameters stay in pinned host memory.
The router still reads the 6144-wide model state. The routed activation is projected to 3072 before dispatch. This halves the width of the values sent through the expert transport.
MHEP-118 completed 20 steps without an OOM or preemption. Median throughput for steps 2 through 19 was 250,691 tokens/s. The lower receiver factor reduces its BF16 compact array from 1.33 GiB to 1.15 GiB. This run is too short to measure the final drop rate.
06 · Results
Short one-rack runs found fit and profile limits. MHEP-103 is the 200-step result for the prior 1.05 sender and 1.33 receiver factors. MHEP-118 tests the merged 1.10 sender and 1.15 receiver factors for 20 steps. Early drop values change as router balance changes during training.
| Run | Change | Result | Measured value |
|---|---|---|---|
| MHEP-055 | Direct fixed A2A, 8-of-384 | OOM | XLA 192.65 GiB. CUDA request 123.49 GiB. |
| MHEP-057 | Three-expert bank, CF 1.0 | Fit | XLA 182.47 GiB. 264,613 tokens/s. Communication 21.2%. |
| MHEP-058 | Six-expert bank, CF 1.0 | OOM | XLA 193.77 GiB. CUDA request 120.26 GiB. |
| MHEP-059 | BF16 device parameters | Fit | 286,467 tokens/s over the short steady window. |
| MHEP-061 | Receiver CF 1.33 | Fit, slower | 255,310 tokens/s. Fixed A2A self-time +34.36%. |
| MHEP-101 | Three-wave pooled profile | Selected | 270,799 tokens/s over steps 2–9. |
| MHEP-102 | Two-wave pooled profile | Valid | 268,462 tokens/s over steps 2–9. It was 0.87% slower. |
| MHEP-103 | Prior CF 1.05 / 1.33, 200 steps | Passed | 256,818 tokens/s and 2.41% drop over steps 150–199. |
| MHEP-118 | Merged CF 1.10 / 1.15, 20 steps | Passed | 250,691 median tokens/s over steps 2–19. Final drop was 19.33%: 7.14% sender and 12.19% receiver. The conditional receiver rate was 13.12%. |
| 4-rack d2560 | CF 1.15 / 1.15, 24 layers | In progress | At step 17,563, the prior 501-step medians were 6.38M tokens/s and 3.08% drop: 2.92% sender and 0.162% receiver. |
NCCL send and receive was the largest single kernel group. It used 17.9% of exclusive profiled device time in MHEP-061.
MHEP-103 completed all 200 steps on 16 nodes and 64 GPUs with the prior factors. It had no OOM, non-finite loss, failure, or preemption. The final loss was 3.25104.
The four-rack d2560 run had processed 294.7B tokens at step 17,563 of 88,242. Its prior 501-step median receiver drop was 0.162%, while sender drop was 2.92%. This run uses both capacity factors at 1.15 and a smaller 24-layer model, so its throughput is not a direct hero comparison.
07 · Scope
The report separates measured results from the current engineering judgment.
08 · Links
The HTML file has no external script or style dependency. Run links need network access.