Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)
0.21.0
Performance library for Deep Learning
|
A subset of Basic Linear ALgebra (BLAS) functions to perform matrix-matrix multiplication. More...
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 a matrix-matrix multiplication operation defined as. 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 a 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_gemm_bf16bf16f32 (const char *transa, const char *transb, const int *M, const int *N, const int *K, const float *alpha, const mkldnn_bfloat16_t *A, const int *lda, const mkldnn_bfloat16_t *B, const int *ldb, const float *beta, float *c, const int *ldc) |
gemm_bf16bf16f32 performs a matrix-matrix multiplication operation defined as More... | |
A subset of Basic Linear ALgebra (BLAS) functions to perform matrix-matrix multiplication.
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 a matrix-matrix multiplication operation defined as.
C := alpha*op( A )*op( B ) + beta*C
where
The matrices are assumed to be stored in column-major order (the elements in a matrix columns are contiguous in memory).
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 a matrix-matrix multiplication operation and add the result to a scalar-matrix product.
For 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
The matrices are assumed to be stored in column-major order (the elements in a matrix columns are contiguous in memory).
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_gemm_bf16bf16f32 | ( | const char * | transa, |
const char * | transb, | ||
const int * | M, | ||
const int * | N, | ||
const int * | K, | ||
const float * | alpha, | ||
const mkldnn_bfloat16_t * | A, | ||
const int * | lda, | ||
const mkldnn_bfloat16_t * | B, | ||
const int * | ldb, | ||
const float * | beta, | ||
float * | c, | ||
const int * | ldc | ||
) |
gemm_bf16bf16f32 performs a matrix-matrix multiplication operation defined as
C := alpha*op( A )*op( B ) + beta*C
where
The matrices are assumed to be stored in column-major order (the elements in a matrix columns are contiguous in memory).