Repository navigation
Fix: prevent poisoned chip-run lane reuse - #1918
ChaoZheng109 merged 1 commit into
Conversation
|
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:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe PR expands device-error quarantine detection and adds tests for poison-related messages. It also revises CPU-simulation paged attention to use native half buffers, block-strided work assignment, cached scores, and stabilized softmax accumulation. ChangesDevice quarantine detection
CPU-simulation paged attention
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to The PR localizes the CPU fallback and worker-retirement behavior and adds poison-classification coverage; based on the supplied evidence, no actionable merge-blocking risk remains after normal checks and review. Possibly related issues
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 |
ChaoZheng109
left a comment
There was a problem hiding this comment.
Reviewed the poison-classification half of this PR against the C++ lane semantics in src/common/worker/chip_run_lane.cpp and chip_worker.cpp. The two markers are correctly placed and do close the exact path #1832 hit. Left three inline notes: the regex they sit next to has drifted away from every message ChipWorker actually produces, which leaves two adjacent poison paths still unclassified. Details inline.
052883c to
4e76f59
Compare
637f6be to
2e24f37
Compare
Associate lane poison with the run that caused it so an earlier failed handle keeps its own error while the poisoning run reports the terminal native failure. Retire pooled Workers after poll/finalize lane failures and sticky device-context errors before later tests can reuse them. Align native-run error expectations, classifier coverage, and runtime troubleshooting documentation. Refs hw-native-sys#1832
2e24f37 to
9804f24
Compare
Summary
Failure and result
A terminal native-run failure poisoned the pooled chip-run lane, but the failed Worker could be returned to the L2 pool. Later tests then failed with the inherited poison instead of running. The lane now reports poison against the responsible run, and pytest retires the Worker for poll/finalize failures, poison markers, and known sticky device errors.
Scope
This change addresses only the poisoned-lane cascade tracked by #1832. The HighPerf paged-attention simulator behavior remains unchanged and is outside this PR.
Testing
Refs #1832