pub fn gemm_i8(
alpha: i32,
a: MatRef<'_, i8>,
b: MatRef<'_, i8>,
beta: i32,
c: MatMut<'_, i32>,
par: Parallelism,
)Available on crate feature
int8 only.Expand description
Integer GEMM: C <- alpha*A*B + beta*C with i8 inputs accumulated into an i32
output (alpha, beta, C are i32). Wraps on overflow, the standard integer-GEMM
convention. Uses the thread-local workspace pool
A separate entry point from gemm because the input/output types differ (i8 vs
i32), which the homogeneous gemm<T> surface cannot express
ยงPanics
Same shape, bounds, and aliasing conditions as gemm apply: A.cols == B.rows,
A.rows == C.rows, B.cols == C.cols. Every view must stay in bounds, and C must
address each element uniquely without overlapping A or B. For negative strides or raw
pointers use gemm_i8_unchecked (gemm_unchecked is homogeneous and cannot serve
i8 -> i32)