Skip to content

The MoE placement round trip has no byte-for-byte gate: the covering test was deleted to keep main building and nothing replaced it #2714

Description

@localai-org-maint-bot

Row: ENG-HYBRID-PLACEMENT

What

The MoE placement seam's entire contract is "placement must never change a
value"
, and nothing in the tree enforces it byte-for-byte.

The short-circuit that makes an unplaced run identical is at
include/vllm/model_executor/moe_placement_seam.h:103-111 (twin in
RunMoePlacedPair at :187):

if (placed_on == engine_device) {
  // THE UNPLACED PATH, and it is the existing call with nothing around it: no
  // copy, no allocation, and the value the architecture already produced.
  dense_attn::DBuf out = body(engine, dh);

Every architecture now routes through it — deepseek_v2.cpp:531,
kimi_linear_device.cpp:936,1231,1616, nemotron_h_device.cpp:1177,1865,
dots3_note_device.cpp:1369, glm_moe_dsa_forward.cpp:473,
qwen3_5.cpp:7398,7683, qwen3_moe.cpp:110, qwen4_exp_forward.cpp:692.

The gate that covered this was deleted

Confirmed from history rather than a failed grep:
tests/vllm/model_executor/test_placed_moe_roundtrip.cpp was deleted at
9164b6cb7 (merge 6416aab85). The commit body is candid — it called
vllm::RunMoeBlockPlaced, which 866075b2f had removed, and main would not
build without deleting it.

Nothing replaced it. The two surviving placement tests are
test_device_placement.cpp and test_placement_dump_dtype.cpp, and the closest
case asserts only a negative (test_device_placement.cpp:433-437):

//    (It resolves to kCUDA, which has no backend registered in a CPU build, so
//    only assert it is not OUR refusal that fires.)

The placed body never executes on a CPU tier, so no bytes are ever compared.

Why a same-device test cannot substitute

The short-circuit means placed_on == engine_device returns the original value
by construction. A test that does not genuinely cross devices exercises the
branch that cannot differ, and proves nothing about the one that can. This needs
a real cross-device run — a CUDA/ROCm box, or possibly Vulkan via lavapipe
(unconfirmed; nobody has checked whether that target builds here).

Class

Gate. No defect is claimed — the point is that a divergence would currently be
invisible, on a seam every MoE architecture in the tree now depends on.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions