fix(ir): dual-dispatch manual no-split pipe groups - #2114
Conversation
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughExpandMixedKernel now infers ChangesDual AIV dispatch inference
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant HandWrittenGroup
participant ExpandMixedKernel
participant AIVFunction
participant OrchestrationCode
HandWrittenGroup->>ExpandMixedKernel: provide AIC/AIV members with explicit A2A3 pipe
ExpandMixedKernel->>AIVFunction: set dual_aiv_dispatch=True
ExpandMixedKernel->>OrchestrationCode: emit MixedKernels mixed_0 with resolved task IDs
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: beabd5748f
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
- guard direct pass runs without an active PassContext - infer dual dispatch only for real no-split transport operations - keep the orchestration regression tied to an actual pipe handshake
- guard direct pass runs without an active PassContext - infer dual dispatch only for real no-split transport operations - keep the orchestration regression tied to an actual pipe handshake
4fffef1 to
ef1662b
Compare
Summary
dual_aiv_dispatchfor hand-written Ascend910B AIC/AIV Groups that use no-split cross-core pipes{AIC, AIV, AIV}so lane 1 replays the required zero-valid-shape handshakeFollow-up to #2104 and #2097. The shared Group ABI fix removed the argument mismatch, but the original manual-pipe case still hung because the AIV member was dispatched only on lane 0.
Validation
cmake --build build --parallel 8test_expand_mixed_kernel_a2a3.py: 20 passedtest_orchestration_tensor_rw.py: passedprobe_manual_pipe_draft.py -p a2a3 -d 1N=8 device run: PASS in 3.22s (runtime 2.41s)