Skip to content

test(parity): Wolf-pattern training loop under poison -- GB10 + CI variants (S2.3.1) - #140

Merged
dndungu merged 2 commits into
mainfrom
test/s231-poison-gb10
Jun 12, 2026
Merged

test(parity): Wolf-pattern training loop under poison -- GB10 + CI variants (S2.3.1)#140
dndungu merged 2 commits into
mainfrom
test/s231-poison-gb10

Conversation

@dndungu

@dndungu dndungu commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

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-arena GPUStorage buffers, ResetPool after every sample, in-place SGD step per batch — under ZTENSOR_ARENA_POISON semantics with the deliberately small 64 MiB parity arena.
    • PASS = all parameters finite and within f32 reduction tolerance of a plain CPU-engine run of the byte-identical loop (catches silent corruption, not just NaN).
    • Actively asserts the dst contract: engine.Add/engine.Sub must 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-arena StressEngine, so the pattern is exercised without a GPU.
  • scripts/parity/run.sh: third PASS gate (exit 6) + updated VALIDATION_OK line; 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.

dndungu added 2 commits June 11, 2026 21:53
…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.
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.

1 participant