fix: harden GPU runtime convergence - #1396
Conversation
Resolve the release-blocking SSH guard, peer-memory, DCGM, exporter, and Pyxis contracts while preserving standalone component behavior and fail-closed validation.
adbefea to
bc571ff
Compare
|
Thanks for pulling these together, and for the hardening on top — several of the One request on attribution. The body credits #1389–#1395, which I appreciate, #1389, #1390 and #1394 came from a different contributor (@100-JM) — their Happy to close #1391, #1392 and #1395 once this lands. #1393 stays open as you |
|
Following up on the attribution point above for #1389, #1390 and #1394, which this PR incorporates (the I appreciate the extra hardening — the I'll close #1389, #1390 and #1394 once this lands. #1397 (running the remaining |
|
@dholt Squashing the hard work and original code of multiple contributors (@100milliongold and @100-JM from PRs #1389 through #1395) into a single commit under one author's name goes against the fundamental principles of open-source collaboration. While the additional hardening work is appreciated, stripping the original authors of their proper credit in the git history and contributor graph is simply unacceptable. Please respect your fellow contributors and amend this commit to include the requested Co-authored-by trailers before merging. Proper attribution is a core pillar of the open-source community. |
Problem
Several GPU-cluster paths diverged as newer DGX OS, Slurm, and Ubuntu releases
changed their service, module, package, and security defaults. In combination,
these gaps prevent a complete Slurm deployment with monitoring and Pyxis from
converging and validating reliably.
Changes
nv_peer_memto the in-treenvidia_peermemmodule.queries fail or return malformed data.
host-wide unprivileged-user-namespace policy.
read-only mounts.
hidden GPUs from SSH; allocated
srunvalidation remains authoritative.This incorporates and hardens the useful changes proposed in #1389 through
#1395. The GPU power/clock batching from #1393 remains separate because it is
an optimization rather than part of this correctness fix.
Validation
python3 -m unittest discover scripts/validation/tests— 25 tests passed,including failed, empty, malformed, exclusive, and last-user Slurm query
cases.
playbooks.
passed.
bc571ff9passed a fresh Ubuntu 24.04 GPU-backed Slurmdeployment and its immediate convergence rerun. The final playbook completed
with
failed=0; the validator proved direct-login GPU isolation, allocatedsrunGPU access, a populated custom-prefix Slurm exporter scrape with zerocollector errors, a GPU container through Pyxis/Enroot, and correct
exclusive/nonexclusive prolog selection.
the host-wide unprivileged-user-namespace restriction.
All 30 public CI checks pass at the validated commit.