You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MegaMoEV2 landed in #876, followed by synchronization and correctness fixes in #954. Standalone operator benchmarks show a clear improvement over MegaMoEV1, especially for prefill where V2 overlaps communication and computation.
However, preliminary DeepSeek-V4-Pro end-to-end serving tests on a single 8×MI355X node appear slower than our previous V1 results. We have not yet isolated whether this comes from MegaMoEV2 itself, integration/configuration, inter-rank synchronization, or an EPLB/serving interaction.
cc @GwilliamHu — could you help review this investigation and advise which traces or counters would best verify that the expected communication/computation overlap is preserved end to end?
Important comparison caveat
The historical V1 and current V2 results are not yet a clean side-by-side A/B.
Our current 12-run matrix compares the standard and current mega backends under different EPLB policies. It does not directly isolate MegaMoEV1 versus MegaMoEV2. We will add a pinned V1 baseline with the rest of the software stack and serving configuration held constant before concluding that this is a V2 regression.
Test environment
Single node with 8× AMD Instinct MI355X (gfx950)
Model: DeepSeek-V4-Pro, A8W4
8-rank configuration with DP attention and expert parallelism
Exact ATOM, aiter, FlyDSL and image revisions are recorded for every run
The current aiter integration requires flydsl==0.2.4 because its T.i32() usage is incompatible with FlyDSL 0.3.0. This deviation will remain fixed across comparisons.
Benchmark plan
Current-main characterization consists of 12 runs:
Differences within a few percent will be rerun three times and compared by median.
The no-redundancy runs use gpu-memory-utilization=0.85, while the 64-redundant-expert runs require 0.90 to retain KV-cache capacity. Therefore, comparisons between those two groups are not strict single-variable experiments. The r64-naive versus r64-biased comparison is clean.
A second phase will run the same workloads against pinned V1 and V2 revisions while holding all other variables constant.
Data-quality gates
For every run we verify:
The requested backend is actually active.
MegaMoE initializes MoriAll2AllManager.
EPLB uses the expected number of physical experts.
Rebalancing and migrations actually occur.
completed == num_prompts and the detailed error list is empty.
Diagnostic probes that introduce device-to-host synchronization are disabled.
Server and client file-descriptor limits are raised for high concurrency.
Primary metric: request throughput.
Supporting metrics:
TTFT for prefill behavior
TPOT and ITL for decode behavior
P99 ITL for tail latency
EPLB migration latency and replicated-expert count
Investigation questions
Does serving choose the intended fixed-slot or compact MegaMoEV2 path and an appropriate max_tok_per_rank bucket for each phase?
Is communication/computation overlap lost across layers because of stream synchronization, graph capture, or inter-rank skew?
Does EPLB migration or changing token distribution interfere with MegaMoEV2's synchronization assumptions?
Is the apparent E2E gap decode-driven? With OSL=1024, a decode regression may outweigh the standalone prefill improvement.
Are there host-side or device-to-host synchronization points in the serving integration that are absent from standalone kernel benchmarks?
Issue #727 previously reported severe inter-card desynchronization at concurrency 512 and 4096, so rank skew is one hypothesis, but it has not yet been confirmed for this case.
Expected result
Under a controlled V1/V2 comparison, MegaMoEV2 should preserve its standalone gains in end-to-end serving, particularly in TTFT/prefill, without regressing decode throughput or tail latency.
We will attach the complete 12-run results, pinned revisions, and relevant server logs once the matrix finishes.
Summary
MegaMoEV2 landed in #876, followed by synchronization and correctness fixes in #954. Standalone operator benchmarks show a clear improvement over MegaMoEV1, especially for prefill where V2 overlaps communication and computation.
However, preliminary DeepSeek-V4-Pro end-to-end serving tests on a single 8×MI355X node appear slower than our previous V1 results. We have not yet isolated whether this comes from MegaMoEV2 itself, integration/configuration, inter-rank synchronization, or an EPLB/serving interaction.
cc @GwilliamHu — could you help review this investigation and advise which traces or counters would best verify that the expected communication/computation overlap is preserved end to end?
Important comparison caveat
The historical V1 and current V2 results are not yet a clean side-by-side A/B.
Our current 12-run matrix compares the
standardand currentmegabackends under different EPLB policies. It does not directly isolate MegaMoEV1 versus MegaMoEV2. We will add a pinned V1 baseline with the rest of the software stack and serving configuration held constant before concluding that this is a V2 regression.Test environment
gfx950)max-num-batched-tokens=8192max-num-seqs=512kv_cache_dtype=fp8flydsl==0.2.4because itsT.i32()usage is incompatible with FlyDSL 0.3.0. This deviation will remain fixed across comparisons.Benchmark plan
Current-main characterization consists of 12 runs:
standard,megaThe no-redundancy runs use
gpu-memory-utilization=0.85, while the 64-redundant-expert runs require0.90to retain KV-cache capacity. Therefore, comparisons between those two groups are not strict single-variable experiments. Ther64-naiveversusr64-biasedcomparison is clean.A second phase will run the same workloads against pinned V1 and V2 revisions while holding all other variables constant.
Data-quality gates
For every run we verify:
MoriAll2AllManager.completed == num_promptsand the detailed error list is empty.Primary metric: request throughput.
Supporting metrics:
Investigation questions
max_tok_per_rankbucket for each phase?Issue #727 previously reported severe inter-card desynchronization at concurrency 512 and 4096, so rank skew is one hypothesis, but it has not yet been confirmed for this case.
Expected result
Under a controlled V1/V2 comparison, MegaMoEV2 should preserve its standalone gains in end-to-end serving, particularly in TTFT/prefill, without regressing decode throughput or tail latency.
We will attach the complete 12-run results, pinned revisions, and relevant server logs once the matrix finishes.