Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)
0.17
Performance library for Deep Learning
|
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) |
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.
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.
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 | ||
) |