test(cuinterpose): unit, integration, and GPU lifecycle coverage - #338
Draft
galletas1712 wants to merge 9 commits into
Draft
galletas1712 wants to merge 9 commits into
galletas1712 wants to merge 9 commits into
Conversation
This was referenced Sep 16, 2026
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
This was referenced Sep 16, 2026
galletas1712
added this pull request to stack #339
September 16, 2026 22:37
This was referenced Sep 16, 2026
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-backend
branch
from
September 16, 2026 23:51
8f2cbcf to
33d001e
Compare
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-backend
branch
from
September 17, 2026 00:15
33d001e to
e3bfad7
Compare
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-backend
branch
from
September 18, 2026 01:13
546d38b to
2136d09
Compare
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-backend
branch
2 times, most recently
from
September 18, 2026 03:41
581adcd to
bf9fccb
Compare
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-backend
branch
from
September 18, 2026 18:55
bf9fccb to
c908687
Compare
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-backend
branch
from
September 18, 2026 22:13
c908687 to
822243b
Compare
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-backend
branch
from
September 18, 2026 23:11
822243b to
38a572a
Compare
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-backend
branch
from
September 18, 2026 23:34
38a572a to
d4fdabf
Compare
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-backend
branch
2 times, most recently
from
September 19, 2026 02:57
b54f9d7 to
c9413fb
Compare
Refs #295. Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
…nd layer Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
galletas1712
force-pushed
the
schwinns/cuinterpose-rust-backend
branch
from
September 19, 2026 03:01
c9413fb to
7db4925
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Refs #295 (approved).
Collect frontend, Rust, fake-driver, GPU, agent/operator, and pod-contract coverage for the assembled stack. Add memory-IPC and jobfile-free lifecycle regressions.
Review boundary
Remove tests for the deleted shim PageBroker backend and launch-job path. Keep this as the final test PR. The fake CUDA driver checks call/ownership behavior; physical-GPU tests check real contents and mappings.
Extend the existing identity test to check leading zeroes, byte order, maximum values, serialization round trips, and malformed input. Cleanup regressions remain in this final test PR.
Stack and compatibility
The stack starts directly on
main; it does not depend on the PageBroker GPU-transfer branch or #323. The shim only saves shared creator bytes through host carriers. Never-shared allocations remain native CUDA state. The stack removes launch-job/jobfile support, and older jobfile-dependent or draft shim artifacts are rejected rather than migrated.PageBroker and native CustomStorage changes are separate. No PR in this stack adds that implementation.
Validation
Validation of the assembled implementation:
make checkin a clean disposable worktree.GLM testing without CustomStorage was cancelled at the user's request and is not a pass. GLM qualification uses a separate composition with CustomStorage; previous experimental GLM results are not qualification of this rebuilt stack. The installed test driver is not claimed to be a stock-driver qualification.
Tests above were run on the assembled implementation, not claimed independently for every source-only intermediate PR. The standard-library cleanup was validated with Rust workspace tests and strict Clippy, GNU/musl builds and packaged fake-driver tests, plus targeted pod-contract and CUDA-agent Go tests. Physical-GPU tests were not rerun for this cleanup; the earlier GPU results above remain attributed to the pre-cleanup implementation.
Cross-node framework qualification with separate CustomStorage composition
The separate
schwinns/cuinterpose-customstorage-glm-matrixbranch combines this stack with native CustomStorage/PageBroker changes, which are not part of this PR. Fresh GLM-5.2-NVFP4 TP8/EP8 capture/restore ran l9nsv to s2877, eight B200s per node. Source and restored responses were read for coherence, including fresh Paris/Tokyo/Berlin answers; none of these passes cold-reloaded the model.torch-memory-saver==0.0.10, no package source patchesob1/tcp,selfUCX_TCP_KEEPIDLE=infThe SGLang image was built on-cluster from the same pinned base with the official 0.0.10 wheel. Fifteen installed package files match wheel RECORD hashes, and all eight scheduler workers map both memory-saver and cuinterpose. This supersedes the earlier qualification requiring a local memory-saver patch.
UCX failure diagnosis: the failing checkpoint already contained closed TCP sockets. CRIU initially saw both endpoints established but entered TCP repair for them about 19 seconds apart; the reciprocal endpoint had a 10-second keepalive idle and 2-second interval. The passing full-model control disabled UCX TCP keepalive before launch and had no closed sockets in its original checkpoint. This strongly supports capture-time keepalive expiry, not restore IP/port rewriting. Small UCX cross-node Bcast tests and an additional five-minute post-capture delay also passed. The exact kernel timer sequence was not packet-traced.
This PR keeps the tested
ob1/TCP guide defaults and documents the UCX alternative and its loss of normal-runtime keepalive peer-failure detection. All 37 framework-manifest tests pass.Corrected TensorRT attribution: forced
NCCL_SYMMETRICcorrupts source inference even with no cuinterpose mapped; a no-shim AUTO run also reproduces corruption with the same tactic-key set as the earlier failing shim run. Default symmetric collectives remain unqualified, but these controls do not establish an interposer defect. The exact erroneous runtime operation remains under investigation; no speculative shim change was made.These results use the existing patched driver, not stock-driver qualification. The vLLM run preceded the separate PageBroker cancellation fix; the latest SGLang and UCX TensorRT runs used the fixed broker. Timings are agent wall times excluding model startup/image pulls and do not establish 30-second restore parity. The final documentation port/rebase did not change runtime code or the composition's tree.