Files
foxhunt/crates/ml-dqn
jgrusewski b19e952920 fix: proper CUDA resource cleanup — Drop for GpuExperienceCollector,
GpuReplayBuffer, DQNTrainer

GpuExperienceCollector + GpuReplayBuffer: added Drop with cuStreamSync
to prevent cuMemFree racing with pending GPU work.

DQNTrainer: explicit Drop that releases GPU resources (fused_ctx,
experience collector) BEFORE cuda_stream and CudaContext drop. Without
this, the Drop order follows declaration order — GPU resources that sync
on the stream would sync on an already-destroyed stream.

hidden_dim_base from_continuous: clamp floor 256→64 to allow smoketest
and Phase Fast (hidden_dim=128) networks.

VRAM is properly released (nvidia-smi shows 0 MiB after trial).
Trial 2 CUDA_ERROR_INVALID_VALUE on bind_to_thread is a cudarc 0.19
primary context reuse issue — not VRAM related.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 14:21:05 +01:00
..