fix(dqn): replace hardcoded PER memory cap with dynamic VRAM-proportional budget

The GPU PER replay buffer had a hardcoded 4 GB MAX_BYTES limit that
rejected the auto-sizer's 10M-entry proposal on H100 (80 GB VRAM).
Now per_max_buffer_bytes() computes 20% of total VRAM (min 1 GB) and
flows through OptimalReplayConfig → DQNConfig → GpuReplayBufferConfig
so both subsystems agree on the budget.

Also fixes misleading regime detection log (indices 211/219 → 40/41)
and renames dqn_config_2025 → dqn_default_config.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-03-11 10:03:21 +01:00
parent 77029165c5
commit b25ce1dcbf
11 changed files with 117 additions and 39 deletions

View File

@@ -62,6 +62,7 @@ async fn test_per_sample_latency() -> anyhow::Result<()> {
beta_max: 1.0,
beta_annealing_steps: 1000,
epsilon: 1e-6,
max_memory_bytes: 4 * 1024 * 1024 * 1024,
};
let mut buf = GpuReplayBuffer::new(config, &device)?;