jgrusewski
6bb8f87805
fix(bf16): PER indices u32, grad_norm float accumulator, training guard readback
- GpuBatch.indices: GpuTensor → CudaSlice<u32> (fixes 2402 compute-sanitizer
memory errors from per_update_priorities_kernel reading u32 from bf16 buffer)
- fused_training PER: eliminate bf16→host→u32→GPU roundtrip, pass u32 directly
- train_step accumulation: GPU DtoD concat for CudaSlice<u32> indices
- grad_norm kernel: float accumulator via separate CudaSlice<f32> buffer
(bf16 sum-of-squares overflows at 147K params; atomicAdd on native float)
- grad_norm finalize kernel: runs OUTSIDE CUDA graph, converts float→bf16 L2 norm
- Adam + clip_grad + clipped_saxpy kernels: read float sum-of-squares directly
- training guard: read loss/grad from fused trainer's GPU buffers (not
GpuTrainResult's hardcoded zeros), raw_ptr() for kernel args (no event tracking)
- guard accumulator: reset between epochs for per-epoch metrics
- Q-stats padding: pad input to config.batch_size for CUTLASS tile alignment
- training_profile tests: update BF16-tuned values (spectral_norm 1.5, noisy_sigma 0.3)
895/895 unit tests pass, 5/9 smoke tests pass (remaining 4 need loss kernel
float arithmetic — C51/MSE softmax overflows bf16 after ~100 training steps).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 20:27:14 +01:00
..
2026-03-02 15:41:23 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:30:51 +01:00
2026-03-19 10:02:26 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:30:51 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +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-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-03-16 16:11:48 +01:00
2026-03-27 11:57:59 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 08:55:55 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-03-25 21:30:11 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-25 09:45:54 +01:00
2026-03-16 16:11:48 +01:00
2026-03-19 08:55:55 +01:00
2026-03-19 10:02:26 +01:00
2026-03-13 10:18:35 +01:00
2026-03-25 09:45:54 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-25 09:45:54 +01:00
2026-03-25 09:45:54 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-03-16 16:11:48 +01:00
2026-03-13 10:18:35 +01:00
2026-03-16 21:01:28 +01:00
2026-03-16 21:01:28 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-25 09:45:54 +01:00
2026-03-25 09:45:54 +01:00
2026-03-21 11:21:55 +01:00
2026-03-25 21:30:11 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-25 09:45:54 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-22 23:05:46 +01:00
2026-03-15 12:00:13 +01:00
2026-03-25 09:45:54 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 08:55:55 +01:00
2026-03-28 20:27:14 +01:00
2026-03-25 09:45:54 +01:00
2026-03-19 10:02:26 +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-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +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-19 10:02:26 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 08:59:52 +01:00
2026-03-20 15:41:42 +01:00
2026-03-19 10:02:26 +01:00
2026-03-18 00:53:47 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 08:59:52 +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-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 10:02:26 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 08:59:52 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 08:59:52 +01:00
2026-03-19 08:59:52 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 08:59:52 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 10:02:26 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-23 09:46:41 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 08:55:55 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +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-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-03-25 21:37:09 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 10:02:26 +01:00
2026-03-21 09:14:53 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 08:59:52 +01:00
2026-03-19 10:02:26 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 08:44:50 +01:00
2026-03-19 10:02:26 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 10:02:26 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 08:44:50 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 08:44:50 +01:00
2026-03-19 08:59:52 +01:00
2026-03-16 16:11:48 +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-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-25 09:45:54 +01:00
2026-03-25 09:45:54 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00