pub trait ProbeableBackend: Send + Sync {
// Required methods
fn id(&self) -> BackendId;
fn available(&self) -> bool;
fn probe_class(
&self,
class: KernelClass,
panel: &KernelPanel,
) -> Vec<CircuitBench>;
}Expand description
One acceleration method. Implementors register into a BackendRegistry; the
rest of the bridge only ever sees them through this trait, which is why adding a
backend never edits select().
Required Methods§
Sourcefn available(&self) -> bool
fn available(&self) -> bool
Is this backend’s runtime/SDK present and usable on THIS machine? A false
backend contributes no rows and is never selected.
Sourcefn probe_class(
&self,
class: KernelClass,
panel: &KernelPanel,
) -> Vec<CircuitBench>
fn probe_class( &self, class: KernelClass, panel: &KernelPanel, ) -> Vec<CircuitBench>
Measure this backend on one kernel class, returning a row per physical circuit it can drive (e.g. wgpu returns one row per adapter). Empty when the backend cannot run the class or is unavailable — recorded honestly as “no rows,” never a fabricated number.