feat(phase-e-4-a): batched parallel-env TRAINING (greenfield)

T15: training rewrite mirroring T14 eval. N_par parallel envs
lockstep H steps per epoch; ONE batched C51 update at B = N_par * H.
Expected ~15× speedup vs sequential.

- NEW kernel alpha_h_enriched_store_batched_kernel for batched
  h_enriched slot writes
- Training section greenfielded: legacy sequential loop deleted
- CLI flag --n-train-par (default 50)
- Terminal next-state slot zeroed; done=1 at horizon masks Q_next
  contribution in Bellman projection — no terminal Mamba2 forward
- docs/isv-slots.md updated per kernel-audit-doc hook

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-05-15 23:11:01 +02:00
parent 90c9d54454
commit 0ab54dc8ef
4 changed files with 296 additions and 286 deletions

View File

@@ -797,6 +797,19 @@ Deferred pending backtest validation — if frozen-Mamba2 already
lifts backtest Sharpe, T10 becomes optimisation rather than
prerequisite.
### Phase E.4.A.T15.batched — parallel-env TRAINING (2026-05-15)
Training mirrors the T14 eval batching: N_par parallel envs run
lockstep H steps per epoch; ONE batched C51 update at B = N_par * H
per epoch. NEW kernel `alpha_h_enriched_store_batched_kernel`
copies cache.h_enriched [B, hidden] into a [H+1, B, hidden]
step-outer training buffer. The terminal-step slot stays zero —
done=1 at step H-1 masks Q_next contribution in the Bellman
projection so no terminal Mamba2 forward is needed.
Pure-GPU per-step. No CPU compute. No per-step CPU↔GPU roundtrips
on the hot path beyond the unavoidable env.step calls.
### Phase E.4.A.T14.batched — parallel-env eval (2026-05-15)
The backtest binary's 2D-sweep eval loop was rewritten from