in crates/ratchet-core/src/ops/matmul/gemm.rs [133:164]
fn kernel_key(
&self,
workgroup_size: &WorkgroupSize,
inplace: bool,
srcs: &[&Tensor],
dst: &Tensor,
kernel_element: &KernelElement,
) -> KernelKey {
let (a_fit, b_fit, out_fit) = self.spec.tile_fit();
let bias_key = if self.bias.is_some() { "bias" } else { "" };
let additional = format!(
"{}_{}_{}_{}_{}_{}_{}",
if a_fit { "" } else { "a_checked" },
if b_fit { "" } else { "b_checked" },
if out_fit { "" } else { "out_checked" },
if self.trans_lhs { "trans_a" } else { "" },
if self.trans_rhs { "trans_b" } else { "" },
if self.trans_dst { "trans_dst" } else { "" },
bias_key
);
KernelKey::new(
&self.kernel_name(),
srcs,
dst,
workgroup_size,
inplace,
kernel_element,
Some(&additional),
)
}