Skip to content

cherrypick commits for v0.20.1-rc.1 - #2035

Merged
tariq1890 merged 7 commits into
release-0.20from
cpicks-for-0.20.1
Sep 15, 2026
Merged

tariq1890 merged 7 commits into
release-0.20from
cpicks-for-0.20.1

Conversation

@tariq1890

Copy link
Copy Markdown
Contributor

No description provided.

yoonhyunwoo and others added 7 commits September 15, 2026 08:50
Signed-off-by: yoonhyunwoo <yjs88zerg@gmail.com>
(cherry picked from commit 1a69452)
Wrap errors with %w instead of %v/%s so callers can unwrap them, and
drop the redundant quoting since logs are already emitted in JSON.

Split TestUpdateSymlinkDanglingDestination into independent subtests
that each set up their own state via a shared fixture helper, so
either case passes when run in isolation rather than depending on
execution order.

Signed-off-by: Abrar Shivani <ashivani@nvidia.com>
(cherry picked from commit 4855607)
Follow-up on top of #1621, which introduced the shared greedyAlloc loop
with a pluggable replicaComparator (distributed vs packed). The loop
still sorts the full candidate slice inside the allocation loop, paying
O(n log n) per iteration for n iterations and giving O(n² log n) overall.

Since all annotated replicas from the same underlying physical device
share the same sort key, sorting at the replica granularity is wasted
work — only m (the number of distinct physical devices contributing
candidates) needs to be reordered.

Refactor greedyAlloc to bucket candidates by their underlying physical
device into a small gpuAllocState per device, holding a shared
*replicaCount, the pickedFrom counter, and the remaining candidate IDs.
A gpuPriorityQueue defers to the caller-supplied replicaComparator on
allocated() for primary ordering and to pickedFrom for the tie-break
(unchanged semantics). Each iteration pops the best device, takes one
of its remaining replicas, updates counters, and pushes it back if any
remain.

Total cost drops to O(n log m). Both allocation policies (distributed
and packed) benefit; no behavior change — the existing test suite
(TestDistributedAlloc, TestPackedAlloc, TestPackedVsDistributedContrast,
TestDistributedAlloc_PartiallyAllocated_DistributesAcrossDistinctGPUs,
etc.) passes unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: runatom-ai <258621014+runatom-ai@users.noreply.github.com>
Signed-off-by: Jonathan Meiri <33288957+Meiri28@users.noreply.github.com>
(cherry picked from commit c3b47c6)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: runatom-ai <258621014+runatom-ai@users.noreply.github.com>
Signed-off-by: Jonathan Meiri <33288957+Meiri28@users.noreply.github.com>
(cherry picked from commit 498aba4)
* Go Modernize changes and add modernize to the lint rules

---------

Signed-off-by: Karthikeyan Valliyurnatt <kvalliyurnat@nvidia.com>
(cherry picked from commit ad5bc6c)
…r overlap

Changes include:
- opt-in Helm setting to include component-specific DaemonSet selector labels to avoid selector overlap across device-plugin, GFD, and MPS control daemon
- disabled by default to avoid breaking upgrades (DaemonSet selectors are immutable and enabling requires DaemonSet recreation)

Signed-off-by: Rahul Sharma <rahulsharm@nvidia.com>
(cherry picked from commit 0e3ff25)
@rahulait

Copy link
Copy Markdown
Contributor

LGTM. Can we change the title to v0.20.1-rc.1?

@tariq1890

Copy link
Copy Markdown
Contributor Author

LGTM. Can we change the title to v0.20.1-rc.1?

Thanks for catching that

@tariq1890 tariq1890 changed the title cherrypick commits for v0.20.0-rc.1 cherrypick commits for v0.20.1-rc.1 Sep 15, 2026
@tariq1890
tariq1890 merged commit ad92f49 into release-0.20 Sep 15, 2026
12 checks passed
@tariq1890
tariq1890 deleted the cpicks-for-0.20.1 branch September 15, 2026 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants