Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 19 additions & 4 deletions crates/hipfire-arch-qwen35/src/speculative.rs
Original file line number Diff line number Diff line change
Expand Up @@ -208,10 +208,10 @@ fn dflash_moe_draft_ffn_graph_eligible(
/// `verify_graph_ok` shares that eligibility via `prefill_batch_pbs_eligible`.
/// Graph-off direct and forced-blob direct full-model V2 fixtures pass on
/// gfx1100, but two graph-on V2 campaigns lost the endpoint. This is a
/// default-off graph capability quarantine for exact gfx1100 + V2 only;
/// direct batched WMMA remains on. `HIPFIRE_VERIFY_GRAPH=1` opts back in
/// diagnostically; `=0` force-offs everywhere; gfx1151/gfx12 and non-V2
/// gfx1100 stay default-on.
/// default-off graph capability quarantine for gfx1100 + V2 and the measured
/// gfx1201 legacy MQ4 workload; direct batched HIP remains on.
/// `HIPFIRE_VERIFY_GRAPH=1` opts back in diagnostically; `=0` force-offs
/// everywhere; other gfx12 shapes stay default-on.
fn dflash_verify_graph_env_eligible(
arch: &str,
output_dtype: rdna_compute::DType,
Expand All @@ -231,6 +231,11 @@ fn dflash_verify_graph_env_eligible(
if arch == "gfx1100" && is_mq_v2 {
return env_value == Some("1");
}
if arch == "gfx1201" && output_dtype == rdna_compute::DType::MQ4G256 {
// Paired 11.5K DFlash runs on R9700 show graph replay slower than the
// direct tiled-flash path; keep it available as an explicit diagnostic.
return env_value == Some("1");
}
true
}

Expand Down Expand Up @@ -7632,6 +7637,16 @@ mod tests {
DType::MQ3G256V2,
None
));
assert!(!dflash_verify_graph_env_eligible(
"gfx1201",
DType::MQ4G256,
None
));
assert!(dflash_verify_graph_env_eligible(
"gfx1201",
DType::MQ4G256,
Some("1")
));
}

fn try_gpu() -> Option<Gpu> {
Expand Down
Loading