cleanup: remove FOXHUNT_NO_GRAPH diagnostic code path

The ungraphed path served its purpose — confirmed cuBLASLt AlgoGetIds
was selecting graph-incompatible algorithms on H100. Now that the
heuristic fix is in place, the diagnostic is dead code.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-04-14 08:06:36 +02:00
parent 172ed8690f
commit a5a754ec53

View File

@@ -3292,18 +3292,11 @@ impl GpuDqnTrainer {
self.adam_step += 1;
// Pinned device-mapped: host write is visible to GPU (no HtoD copy).
unsafe { *self.t_pinned = self.adam_step; }
let no_graph = std::env::var("FOXHUNT_NO_GRAPH").is_ok();
if self.graph_forward.is_none() && !no_graph {
if self.graph_forward.is_none() {
self.capture_training_graphs(online_dueling, online_branching)?;
}
self.update_stochastic_depth_mask()?;
if no_graph {
// Ungraphed: run forward+backward directly to diagnose H100 graph issues
self.submit_forward_ops_main()?;
self.submit_forward_ops_ddqn()?;
} else {
self.replay_forward()?;
}
self.replay_forward()?;
Ok(FusedTrainScalars { total_loss: 0.0, grad_norm: 0.0 })
}
@@ -3348,12 +3341,7 @@ impl GpuDqnTrainer {
// 2. Launch current step: grad_norm (two-phase, no atomicAdd) + adam
self.compute_grad_norm_outside_graph()?;
if std::env::var("FOXHUNT_NO_GRAPH").is_ok() {
// Ungraphed: run Adam directly to diagnose H100 graph issues
self.launch_adam_update()?;
} else {
self.replay_adam()?;
}
self.replay_adam()?;
// 3. Async DtoH into pinned host buffer (truly async — no CPU blocking)
unsafe {