Visible to Intel only — GUID: GUID-25EA8F03-1E87-4A6B-BD1D-0724ED18BA45
Visible to Intel only — GUID: GUID-25EA8F03-1E87-4A6B-BD1D-0724ED18BA45
mkl_jit_get_?gemm_ptr
Return the GEMM kernel associated with a jitter previously created with mkl_jit_create_?gemm.
Syntax
sgemm_jit_kernel_t mkl_jit_get_sgemm_ptr(const void* jitter);
dgemm_jit_kernel_t mkl_jit_get_dgemm_ptr(const void* jitter);
cgemm_jit_kernel_t mkl_jit_get_cgemm_ptr(const void* jitter);
zgemm_jit_kernel_t mkl_jit_get_zgemm_ptr(const void* jitter);
Include Files
- mkl.h
Description
The mkl_jit_get_?gemm_ptr functions belong to a set of related routines that enable use of just-in-time code generation.
The mkl_jit_get_?gemm_ptr functions take as input a jitter previously created with mkl_jit_create_?gemm, and return the GEMM kernel associated with that jitter. The returned GEMM kernel computes a scalar-matrix-matrix product and adds the result to a scalar-matrix product, with general matrices. The operation is defined as follows:
C := alpha*op(A)*op(B) + beta*C
Where:
- op(X) is one of op(X) = X or op(X) = XT or op(X) = XH
- alpha and beta are scalars
- A, B, and C are matrices
- op(A) is an m-by-k matrix
- op(B) is a k-by-n matrix
- C is an m-by-n matrix
Generating a new kernel with mkl_jit_create_?gemm involves moderate runtime overhead. To benefit from JIT code generation, use this feature when you need to call the generated kernel many times (for example, several hundred calls).
Input Parameter
jitter |
Handle to the code generator. |
Return Values
func |
If the jitter input is not NULL, returns a function pointer to a GEMM kernel. The GEMM kernel is called with four parameters: the jitter and the three matrices a, b, and c. Otherwise, returns NULL. |
If layout, transa, transb, m, n, k, lda, ldb, and ldc are the parameters used during the creation of the input jitter, then:
a |
|
|||||||||
b |
|
|||||||||
c |
|