Fix: preserve full task IDs for swimlane DAG nodes#1332
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 Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThe change adds full ChangesDummy and alloc dependency flow anchoring
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant SchedulerContext
participant L2SwimlaneCollector
participant swimlane_converter
participant Perfetto
SchedulerContext->>L2SwimlaneCollector: record DummyTask task_id
L2SwimlaneCollector->>swimlane_converter: export DummyTask task_id
swimlane_converter->>swimlane_converter: create dummy/alloc worker anchors
swimlane_converter->>Perfetto: emit dependency flow endpoints
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 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.
Code Review
This pull request updates the swimlane profiling and trace generation to use the full 64-bit task_id instead of the low 32-bit tasks_processed for dummy tasks and alloc DAG nodes, allowing dependency flow arrows to anchor correctly on AICPU worker slices. The changes span documentation, the Python trace converter, C++ runtime schedulers, and unit tests. Feedback in the review suggests adding a fallback to the low 32-bit task ID from tasks_processed for backward compatibility with older trace files that lack the task_id field, preventing dummy tasks from being labeled as 'unknown'.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
- Record full dummy task IDs in scheduler phase data on a2a3 and a5 - Anchor dummy and alloc dependency flows on AICPU Worker View events - Classify non-kernel DAG nodes by complete task identity across rings - Cover same-local-ID ring collisions in converter unit tests
Summary
Testing
python -m pytest tests/ut/py/test_swimlane_converter.py -q(14 passed)python -m ruff check simpler_setup/tools/swimlane_converter.py tests/ut/py/test_swimlane_converter.pypython -m pyright simpler_setup/tools/swimlane_converter.py tests/ut/py/test_swimlane_converter.pypip install --no-build-isolation -e .(a2a3/a5 runtime build)