test(bench): p2-parakeet-dml contender (Parakeet on the iGPU via DirectML EP)

This commit is contained in:
iamdoubz committed 2026-07-15 23:14:47 -05:00
1 parent a682ffccdd
commit ca0563039d
1 file changed
+11 -6
+11 -6
View File
@@ -211,11 +211,12 @@ fn load_engine(contender: &str) -> Result<Engine, String> {
.map(Engine::Onnx)
.map_err(|e| e.to_string())
}
p if p.starts_with("p1-parakeet-t") => {
p if p.starts_with("p1-parakeet-t") || p.starts_with("p2-parakeet-dml-t") => {
let dml = p.starts_with("p2-");
let threads: i32 = p
.trim_start_matches("p1-parakeet-t")
.parse()
.map_err(|_| format!("bad thread count in '{p}'"))?;
.rsplit_once('t')
.and_then(|(_, n)| n.parse().ok())
.ok_or_else(|| format!("bad thread count in '{p}'"))?;
let dir = paths::models_dir().join("bench-parakeet");
let config = sherpa_rs::transducer::TransducerConfig {
encoder: find_onnx(&dir, "encoder")?.to_string_lossy().into_owned(),
@@ -227,7 +228,11 @@ fn load_engine(contender: &str) -> Result<Engine, String> {
sample_rate: SAMPLE_RATE as i32,
feature_dim: 80,
num_threads: threads,
provider: Some("cpu".to_string()),
// "directml" needs the bench-directml cargo feature (DirectML
// sherpa-onnx binaries); with plain binaries sherpa falls back
// noisily and the run is invalid — P2 rows only count from a
// bench-directml build.
provider: Some(if dml { "directml" } else { "cpu" }.to_string()),
..Default::default()
};
sherpa_rs::transducer::TransducerRecognizer::new(config)
@@ -235,7 +240,7 @@ fn load_engine(contender: &str) -> Result<Engine, String> {
.map_err(|e| e.to_string())
}
other => Err(format!(
"unknown contender '{other}' (w1-cpu-base | w2-vulkan-base | w3-vulkan-medium | w4-npu-onnx | p1-parakeet-t<N>)"
"unknown contender '{other}' (w1-cpu-base | w2-vulkan-base | w3-vulkan-medium | w4-npu-onnx | p1-parakeet-t<N> | p2-parakeet-dml-t<N>)"
)),
}
}