use clap::Parser;
use crate::pipeline::certify::{certify, to_json, CertificateStrength};
#[derive(Debug, Parser)]
pub struct Args {
pub backend: String,
}
pub fn run(args: Args) -> Result<(), Box<dyn std::error::Error>> {
match args.backend.as_str() {
"wgpu" | "gpu" => certify_wgpu(),
other => Err(format!(
"Fix: unsupported backend `{other}`. Use `wgpu` or register a supported backend."
)
.into()),
}
}
fn certify_wgpu() -> Result<(), Box<dyn std::error::Error>> {
let backend = crate::pipeline::backend::require_gpu()?;
let specs = crate::op_registry::all_specs();
let certificate = certify(&backend, &specs, CertificateStrength::Standard)?;
let json = to_json(&certificate)?;
println!("{json}");
Ok(())
}