test(parity): Wolf-pattern training loop under poison -- GB10 + CI variants (S2.3.1) - #140
Merged
Conversation
…riants (S2.3.1) The S2.3.1 proof needs a framework-level training loop on the GB10: per-sample forward+backward, in-place gradient accumulation into persistent non-arena device buffers, ResetPool every sample, in-place SGD step per batch (the Wolf gr-12 / zerfoo#850 hazard schedule), under ZTENSOR_ARENA_POISON with the deliberately small parity arena. - TestTrainingLoop_WolfPattern_GPU: real CUDA arena; PASS = finite params + f32-tolerance match vs a plain CPU run of the identical loop; asserts engine Add/Sub never re-home the persistent dst storage. - TestTrainingLoop_WolfPattern_StressCI: same loop vs the host-backed StressEngine in ordinary CI. - scripts/parity/run.sh gains the third PASS gate (exit 6).
Pod ztensor-parity-4b4d759c on the DGX via Spark: parity schedules 26/26+26/26 (0 failed/errored), GPU red-proof red/green as required, Wolf-pattern training loop finite + CPU-parity under poison.
This was referenced Jun 12, 2026
Closed
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.
Adds the one missing runner piece for zerfoo plan S2.3.1 (poison-mode full-suite run on GB10): a minimal Wolf-gr-12-pattern training loop in the parity harness.
What
TestTrainingLoop_WolfPattern_GPU(GB10, skips without CUDA): tiny MatMul→Tanh→MatMul→Softmax net trained for 3 batches x 4 samples with the exact hazard schedule that bit Wolf (zerfoo#850/#855): per-sample forward+backward, gradients accumulated in place into persistent non-arenaGPUStoragebuffers,ResetPoolafter every sample, in-place SGD step per batch — underZTENSOR_ARENA_POISONsemantics with the deliberately small 64 MiB parity arena.engine.Add/engine.Submust not re-home the persistent buffer into the arena (the #850 failure mode, dst fix in dc2ac65).TestTrainingLoop_WolfPattern_StressCI: same loop in ordinary CI against the host-backed-arenaStressEngine, so the pattern is exercised without a GPU.scripts/parity/run.sh: third PASS gate (exit 6) + updatedVALIDATION_OKline; README section.Why
S2.3.1 requires "parity harness + a small training loop with per-sample ResetPool runs clean under poison" on the GB10. The parity schedules existed (#133); the training-loop piece did not. This is the minimal addition — T2.4 (full attention-like integration stress test) remains separate.
Verified locally:
go test ./testing/... ./graph/... ./compute/...green; StressCI variant passes; gofmt/vet clean.