Files
foxhunt/docs
jgrusewski 63183bb6a4 feat(dqn-v2): Plan 4 Task 2c.3c.2 — backward infra additions (launch_dw_only_no_bias + saxpy_inplace)
Plan 4 Task 2c.3c.2. Additive only — no production callers (2c.3c.4
wires them).

Two infrastructure additions for the GRN trunk backward chain:

1. launch_dw_only_no_bias on CublasBackwardSet: variant of launch_dw_only
   that skips the bias-grad kernel call. Linear_residual in h_s1 GRN
   block has no bias, so calling launch_dw_only with db=0u64 would
   segfault the bias-grad kernel.

2. saxpy_inplace on CublasGemmSet: y += alpha * x for element-wise
   gradient accumulation. h_s2 GRN's identity residual needs
   d_h_s1 += d_pre_ln_h_s2 after Linear_a_h_s2's backward overwrites
   d_h_s1 with d_x = d_linear_a @ W_a. Implementation reuses the
   existing dqn_saxpy_f32_kernel (already used by the experience
   collector's IQR/ensemble-variance Q-bonus paths) — no new kernel,
   no cuBLAS legacy-handle stream-binding work, kernel handle loaded
   once at CublasGemmSet::new from DQN_UTILITY_CUBIN.

Both methods sit dead-code until 2c.3c.4's wire-up commit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 13:45:49 +02:00
..