Fix: use task_attrs.has_predicate() in the L2 swimlane predicated-skip path#1445
Conversation
…p path hw-native-sys#1410 consolidated the per-task dispatch predicates into the TaskAttrs byte, moving has_predicate() from ActiveMask to TaskAttrs and updating the scheduler call sites. It missed the two dummy-drain swimlane-skip calls that hw-native-sys#1419 added: a2a3 and a5 tensormap_and_ringbuffer scheduler_dispatch.cpp still call dummy_slot.active_mask.has_predicate(). ActiveMask no longer has that member, so the default build (the calls sit under SIMPLER_DFX, which is on by default) fails to compile a2a3sim / a5sim. The two PRs were each green against their own base; the break only appears once both are on main. Point both call sites at dummy_slot.task_attrs.has_predicate(), matching every other has_predicate() caller in the scheduler. a2a3sim and a5sim build clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-Authored-By: Sergio Martin <sergio.miguel.martin@huawei.com>
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughDummy-task profiling and tracing in both scheduler variants now determine predicated-skip events from ChangesScheduler predicate tracing
Estimated code review effort: 1 (Trivial) | ~2 minutes 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 |
Summary
#1410consolidated the per-task dispatch predicates into theTaskAttrsbyte — movinghas_predicate()fromActiveMasktoTaskAttrsand updating the scheduler call sites — but missed the two dummy-drain swimlane-skip calls that#1419added:src/a2a3/runtime/tensormap_and_ringbuffer/runtime/scheduler/scheduler_dispatch.cpp:1222src/a5/runtime/tensormap_and_ringbuffer/runtime/scheduler/scheduler_dispatch.cpp:1031Both still call
dummy_slot.active_mask.has_predicate().ActiveMaskno longer has that member, and the calls sit under#if SIMPLER_DFX(on by default), so the defaulta2a3sim/a5simbuild fails to compile on the currentmaintip:Each PR was green against its own base; the break only surfaces once both
#1410and#1419are onmaintogether (a merge-order semantic conflict).Fix
Point both call sites at
dummy_slot.task_attrs.has_predicate(), matching every otherhas_predicate()caller in the scheduler (e.g.pto_scheduler.h:537/872/938/968/1041/1082).Validation
a2a3simanda5simbuild clean (host + aicpu + aicore).🤖 Generated with Claude Code