jgrusewski
fc3f6f9df7
fix: 7 NaN root causes in GPU training pipeline + regression test
Root causes found and fixed:
- f32/bf16 type mismatch in pad_states_kernel (PER stores f32, kernel read bf16)
- States buffer stride mismatch in backward_full (lda=48 on pad128=128 buffer)
- States buffer stride mismatch in apply_iqn_trunk_gradient (same bug)
- IQN trunk forward stride mismatch in custom matvec kernel
- IQN grad_norm sqrt-per-block bug (sqrtf of partials → wrong norm + NaN)
- Uninitialized state vector slots in experience_state_gather (stale GPU memory)
- CUDA graph warmup launches producing extreme gradients from Xavier weights
Defense-in-depth guards:
- f32_to_bf16_kernel: NaN→0, clamp ±500
- Adam isfinite guards in DQN, IQN, attention, curiosity kernels
- IQN backward isfinite on d_h_s2 atomicAdd
- clipped_saxpy isfinite on auxiliary gradient input
Adds test_no_nan_after_graph_capture regression test (2s, fxcache-based).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 12:27:31 +02:00
..
2026-03-13 10:18:35 +01:00
2026-04-02 16:29:55 +02:00
2026-03-12 19:10:18 +01:00
2026-03-14 11:35:15 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-01 22:47:39 +01:00
2026-04-05 12:27:31 +02:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-04-04 01:24:19 +02:00
2026-03-01 22:47:39 +01:00
2026-03-13 10:18:35 +01:00
2026-04-04 15:32:59 +02:00
2026-03-29 22:35:37 +02:00
2026-03-29 22:35:37 +02:00
2026-03-31 12:37:25 +02:00
2026-03-29 19:18:47 +02:00
2026-03-19 00:39:03 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-31 00:39:59 +02:00
2026-03-16 21:01:28 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-10 13:18:57 +01:00
2026-03-28 01:51:45 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-18 00:53:47 +01:00
2026-03-14 11:35:15 +01:00
2026-03-01 22:47:39 +01:00
2026-03-15 11:59:31 +01:00
2026-03-01 22:47:39 +01:00
2026-03-03 22:16:35 +01:00