pub fn prepare(gpu: &dyn GpuBackend) -> Result<()>Expand description
2026-09-28: Resolve the kernels and allocate the scratch once per backend, when the
published tier can take the W4A4 path (WeightQuantTier::uses_w4a4_decode). Call at
model build, never inside a graph capture. When a kernel is missing it records None
for the backend and logs, and every projection stays W4A16.