Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)  0.17
Performance library for Deep Learning
Functions
BLAS functions

Functions

mkldnn_status_t MKLDNN_API mkldnn_sgemm (const char *transa, const char *transb, const int *M, const int *N, const int *K, const float *alpha, const float *A, const int *lda, const float *B, const int *ldb, const float *beta, float *C, const int *ldc)
 SGEMM performs matrix-matrix multiplication operation C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix. More...
 
mkldnn_status_t MKLDNN_API mkldnn_gemm_s8u8s32 (const char *transa, const char *transb, const char *offsetc, const int *M, const int *N, const int *K, const float *alpha, const int8_t *A, const int *lda, const int8_t *ao, const uint8_t *B, const int *ldb, const int8_t *bo, const float *beta, int32_t *c, const int *ldc, const int32_t *co)
 gemm_s8u8s32 and gemm_s8s8s32 perform matrix-matrix multiplication operation and add the result to a scalar-matrix product. More...
 
mkldnn_status_t MKLDNN_API mkldnn_gemm_s8s8s32 (const char *transa, const char *transb, const char *offsetc, const int *M, const int *N, const int *K, const float *alpha, const int8_t *A, const int *lda, const int8_t *ao, const int8_t *B, const int *ldb, const int8_t *bo, const float *beta, int32_t *c, const int *ldc, const int32_t *co)
 

Detailed Description

Function Documentation

◆ mkldnn_sgemm()

mkldnn_status_t MKLDNN_API mkldnn_sgemm ( const char *  transa,
const char *  transb,
const int *  M,
const int *  N,
const int *  K,
const float *  alpha,
const float *  A,
const int *  lda,
const float *  B,
const int *  ldb,
const float *  beta,
float *  C,
const int *  ldc 
)

SGEMM performs matrix-matrix multiplication operation C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

Note
API is different compared to standard BLAS routine as it returns mkldnn_status_t for error handling. XERBLA is not supported: no error message will be printed in case of incorrect parameters

◆ mkldnn_gemm_s8u8s32()

mkldnn_status_t MKLDNN_API mkldnn_gemm_s8u8s32 ( const char *  transa,
const char *  transb,
const char *  offsetc,
const int *  M,
const int *  N,
const int *  K,
const float *  alpha,
const int8_t *  A,
const int *  lda,
const int8_t *  ao,
const uint8_t *  B,
const int *  ldb,
const int8_t *  bo,
const float *  beta,
int32_t *  c,
const int *  ldc,
const int32_t *  co 
)

gemm_s8u8s32 and gemm_s8s8s32 perform matrix-matrix multiplication operation and add the result to a scalar-matrix product.

To get the final result, a vector is added to each row or column of the output matrix. The operation is defined as: C := alpha*(op(A) + A_offset) * (op(B) + B_offset) + beta*C + C_offset where op( X ) = X or op( X ) = X**T, A_offset is an m-by-k matrix with every element equal to the value oa, B_offset is an k-by-n matrix with every element equal to the value ob, C_offset is an m-by-n matrix defined by the oc array, size len: if offsetc = F: len must be at least 1 if offsetc = C: len must be at least max(1, m) if offsetc = R: len must be at least max(1, n) alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m-by-k matrix, op( B ) a k-by-n matrix and C an m-by-n matrix.

Note
API is different compared to standard BLAS routine as it returns mkldnn_status_t for error handling. XERBLA is not supported: no error message will be printed in case of incorrect parameters

◆ mkldnn_gemm_s8s8s32()

mkldnn_status_t MKLDNN_API mkldnn_gemm_s8s8s32 ( const char *  transa,
const char *  transb,
const char *  offsetc,
const int *  M,
const int *  N,
const int *  K,
const float *  alpha,
const int8_t *  A,
const int *  lda,
const int8_t *  ao,
const int8_t *  B,
const int *  ldb,
const int8_t *  bo,
const float *  beta,
int32_t *  c,
const int *  ldc,
const int32_t *  co 
)