Repository navigation
Conversation
Whitelist DEVICE_TYPE_QY for FA, add denglin MoE adaptors and MiniCPM5 MoE model surface, and ship QY stack build/config helpers used by the post-refactor integration.
Select the QY FA provider under graph capture, allowlist MiniCPM5 decode layouts, and keep MoE ATen/_dl_C ops in eager segments.
Apply C1-C3 longctx dirty sources (aten/dl kernels + sparse MoE block + server) on top of CUDA-graph FA MiniCPM5.
Longctx RoPE uses cudaMemcpy/pack and host sync; keep it in eager graph segments so FA/gemm capture still works with ENABLE_GRAPH=1.
Mark MulScalar capture-unsafe with MoE routing, and skip cudaStreamSynchronize while the stream is capturing so longctx QY kernels can participate in graph-on startup.
…nd ruff Co-authored-by: Cursor <cursoragent@cursor.com>
This was referenced Oct 14, 2026
Contributor
Author
QY required smoke (PR head)
Sibling PR heads: RT |
Contributor
Author
QY required smoke (PR head) — detailed
Build / stack
Serve / greedy
EvalScope mixed-4096 (P1 / N10)
|
Promote MoE/RoPE/MulScalar to device-graph capture-safe, add INFINI_CUDAGRAPH_POLICY + LastRunProfile, and trim sync-under-capture on QY paths so decode can form a single InfiniRT segment.
Port PiecewisePrefillCompiler, InferencePhase/faInGraphAllowed (F&P=>FA decode), Llama PiecewiseTextCausalLM, and mha_varlen block_table contig for QY 2B capture.
Port V1 scheduler / chunked prefill so long prompts and mixed concurrency work under full_and_piecewise; scrub denglin→dl comments; assert floor 256; drop scheduling meta keys before forward.
Port V1 scheduler / chunked prefill so long prompts and mixed concurrency work under full_and_piecewise; scrub denglin→dl comments; assert floor 256; drop scheduling meta keys before forward.
Nested (B,1)/(B,1,1) sample layouts and out-of-range ids were crashing tokenizer.decode and killing the step loop; flatten/clamp and recover.
HF vocab_size excludes added tokens on MiniCPM5 (130072 vs 130560), so valid ids were wrongly clamped and starved decode.
EOS-clamping aborted ignore_eos EvalScope early (~100 tok). Keep CB runs alive for PARALLEL>1 perf until QY batched sample root-cause lands.
QY flattened batch sampling returned garbage token ids under V1 multi-request; force the per-index loop and drop the %vocab soft-map that corrupted decode.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Enable MiniCPM5 on QY with FlashAttention, longctx MoE/RoPE GPU promotions, and CUDA-graph capture-safe sync helpers. Targets
refactor/adopt-modern-infini-stack(post-refactor tipf94d83d).Commits (high level)
4–8. Capture-unsafe RoPE / avoid host sync under graph capture / sync helper fixes
Dependencies (merge order)
Source pin: ITW
release/2026.10.13-qy-minicpm5-16a3-fa-longctx-cudagraphValidation
python3 scripts/format.py --ref f94d83d --checkwith clang-format 18.1.8 + ruff: passpython -m unittest discover -s test/scripts -p "test_build_infini_stack.py" -v: 3 errors (test harness looking forops.json/ local layout; not QY-specific regressions)python -m unittest discover -s test/static -p "test_*.py" -v: 5 failures + 1 error reflecting intentional QY/MiniCPM5 contract expansions (deviceqyin BaseConfig, new adapters/count,minicpm5_moemodel sources, graph-safe FA provider selection). Contract tests need follow-up update on this branch or a stacked commit.build_infini_stack.py --dry-run: blocked here by local InfiniCore submodule worktree SHAs after Ops/RT rebase (pin PR still references pre-rebase tips).Notes
feat/qy-backend-buildMade with Cursor
Stack PR index (merge order)
refactor/adopt-modern-infini-stackITW pin: https://github.com/Ceng23333/InfiniTensorWorktree/tree/release/2026.10.13-qy-minicpm5-16a3-fa-longctx-cudagraph