audit: 21 CUfunction conflicts — vaccine uses 15+ forward_child kernels ungraphed

This commit is contained in:
jgrusewski
2026-04-18 21:45:27 +02:00
parent c054b4e1d8
commit c4c7303e82

View File

@@ -0,0 +1,30 @@
# CUfunction Sharing Audit (2026-04-18)
## Summary
- 104 CUfunction fields total
- **21 active conflicts** (same CUfunction in graphed child + ungraphed op)
- 3 disabled but latent conflicts
- 4 already mitigated (separate CUmodule)
- ~64 no conflict
- ~12 dead fields
## Critical Conflicts
### Vaccine (15+ kernels): uses forward_child CUfunctions ungraphed
c51_loss_kernel, c51_loss_reduce_kernel, c51_grad_kernel, mse_loss_kernel,
mse_grad_kernel, fill_gamma_buf_kernel, scale_f32_kernel, saxpy_f32_kernel,
curiosity_prepare_input_func, curiosity_bias_leaky_relu_func, curiosity_bias_mse_func,
bn_tanh_concat_kernel, stochastic_depth_kernel, bn_tanh_backward_kernel,
strided_accumulate_kernel
### Causal intervention: uses CublasForward cloned kernels ungraphed
vsn_kernel, kan_gate_combine_kernel, strided_scatter_kernel (clones from forward_child)
### Cross-child sharing
saxpy_f32_kernel: forward_child + aux_child + adam_grad_child (3-way)
strided_accumulate_kernel: forward_child + aux_child
### Eval path
expected_q_kernel: aux_child + ungraphed (reduce_current_q_stats)
## Fix: Move ALL into child graphs → zero ungraphed kernel launches