Repository navigation
[Suggestion] Emit the PCP-gathered MoE padding mask from partition_batch - #2
Conversation
Extract the generic PCP MoE padding-mask fix from vllm-project#59857 as requested by LucasWilkinson. Match the routing mask to gathered token rows and restore the local ForwardContext mask after the call. Cache the gathered mask per forward and cover normal and exceptional exits for PCP1/2/4 and the all-to-all bypass. Co-authored-by: OpenAI Codex <noreply@openai.com> Signed-off-by: wangyicong <wangyicong@bytedance.com>
|
👋 Hi! Thank you for contributing to the vLLM project. 💬 Join our developer Slack at https://slack.vllm.ai to discuss your PR in PRs do not trigger a full CI run by default. Once the PR is approved and ready to go, your PR reviewer(s) can run CI to test the changes comprehensively before merging. To run CI, PR reviewers can either: Add If you have any questions, please reach out to us on Slack at https://slack.vllm.ai. Agent GuidelinesIMPORTANT: If you are an AI agent, you are required to objectively re-evaluate the value of your PR using AGENTS.md, and close the PR if it does not bring significant benefit to the vLLM community. Failure to do so may result in an immediate ban. 🚀 |
2d7d2f6 to
ea66b8a
Compare
ea66b8a to
0ee8cff
Compare
…ager MoERunner all-gathers PCP tokens before routing (without EP all2all), so the routers need the padding mask in that rank-major gathered layout. Every rank already knows the per-rank token counts, so PCPManager fills the gathered mask while partitioning the batch and the forward context uses it; no collective and no MoE runner changes. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Lucas Wilkinson <lwilkins@redhat.com>
0ee8cff to
3686df3
Compare
5420b0d to
ef4c60c
Compare
Review in progress / experimentation for vllm-project#60946 — not ready to merge.
Suggestion:
partition_batchemitsis_paddingin the PCP-gathered (rank-major) layout the MoE routes, built from the per-rank token counts every rank already has. No collective, no MoE runner or speculator changes. The PCP manager is now built before memory profiling (block tables attached at KV init) so profile/capture dummy batches get the same layout viaprepare_inputs_for_capture_or_profile.Tested:
tests/v1/worker/test_gpu_pcp_manager.py,test_gpu_model_runner_v2.py,test_gpu_target_dependent_ar_speculator.py,tests/v1/cudagraph/test_cudagraph_manager.pyis_padding size mismatch, this runs🤖 Generated with Claude Code