Repository navigation
Conversation
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Track and check remaining time cpp/src/neighbors/detail/dynamic_batching.cuh |
The local remaining-time counter changes from signed 32-bit microseconds to signed 64-bit nanoseconds. Elapsed time is subtracted in nanoseconds, and CPU-provided remaining time is converted to nanoseconds before the minimum is taken. Timeout checks use the nanosecond counter. |
Estimated code review effort: 2 (Simple) | ~8 minutes
Change: Bug fix
Possibly related issues
- [CI] NEIGHBORS_DYNAMIC_BATCHING_TEST flaky #2957: The issue reports flaky dynamic batching test failures. This change updates the time tracking used by the
gather_inputswait loop, but the link to the reported failures is not confirmed. - [CI] Flaky test sweep (Sep–Oct 2026): root causes and fix PRs #2783: The issue reports dynamic batching test timeouts and hangs. This change updates the timing path, but the issue says the test issue was already fixed on
main, so this PR's contribution is not established.
Suggested labels: bug, C++, non-breaking
Suggested reviewers: achirkin
Merge Risk: 
Minimal · up to eb449
-
No actionable merge-blocking risk was identified in the reviewed change.
Pre-merge checks: 
5
-
Full details: Title check
-
Explanation
The title names the fix (a potential hang) and the component it touches (dynamic_batching). It also names the cause (a duration calculation). The raw summary confirms the change converts the remaining-time tracking in gpu_time_keeper from 32-bit microseconds to 64-bit nanoseconds, which addresses that calculation. The title is specific and matches the main change.
Full details: Description check
-
Explanation
The description states the problem: gpu_time_keeper stored remaining time in int32_t microseconds. Integer division rounded sub-microsecond deltas to zero, so the deadline never decreased and gather_inputs could spin. It also states the fix: track remaining time as int64_t local_remaining_time_ns_. This matches the file-level summary and the PR objectives.
Full details: Docstring Coverage
-
Explanation
No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)
-
Finishing Touches
-
Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Problem
gpu_time_keepertracked the remaining deadline inint32_tmicroseconds. Between twohas_time()checks the elapsed time was computed as:When the interval between two checks is less than 1 µs, the
/ 1000integer division rounds the delta down to0, solocal_remaining_time_us_never decreases. If the device keeps polling faster than once per microsecond, the deadline is never reached and thegather_inputskernel can spin (hang) indefinitely.Fix
Track remaining time in nanoseconds as
int64_t local_remaining_time_ns_.