[−][src]Function onednn_sys::dnnl_sgemm
pub unsafe extern "C" fn dnnl_sgemm(
transa: c_char,
transb: c_char,
M: dnnl_dim_t,
N: dnnl_dim_t,
K: dnnl_dim_t,
alpha: f32,
A: *const f32,
lda: dnnl_dim_t,
B: *const f32,
ldb: dnnl_dim_t,
beta: f32,
C: *mut f32,
ldc: dnnl_dim_t
) -> dnnl_status_t
Performs single-precision matrix-matrix multiply.
The operation is defined as:
C := alpha * op( A ) * op( B ) + beta * C
where
op( X ) = X
orop( X ) = X**T
,alpha
andbeta
are scalars, andA
,B
, andC
are matrices:op( A )
is anMxK
matrix,op( B )
is anKxN
matrix,C
is anMxN
matrix.
The matrices are assumed to be stored in row-major order (the elements in each of the matrix rows are contiguous in memory).
@note This API does not support XERBLA. Instead, unlike the standard BLAS functions, this one returns a dnnl_status_t value to allow error handling.
@param transa Transposition flag for matrix A: 'N' or 'n' means A is not transposed, and 'T' or 't' means that A is transposed. @param transb Transposition flag for matrix B: 'N' or 'n' means B is not transposed, and 'T' or 't' means that B is transposed. @param M The M dimension. @param N The N dimension. @param K The K dimension. @param alpha The alpha parameter that is used to scale the product of matrices A and B. @param A A pointer to the A matrix data. @param lda The leading dimension for the matrix A. @param B A pointer to the B matrix data. @param ldb The leading dimension for the matrix B. @param beta The beta parameter that is used to scale the matrix C. @param C A pointer to the C matrix data. @param ldc The leading dimension for the matrix C. @returns #dnnl_success/#dnnl::status::success on success and a status describing the error otherwise.