Intel® oneAPI Math Kernel Library Developer Reference - C
Return the GEMM kernel associated with a jitter previously created with mkl_jit_create_?gemm.
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);
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:
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).
jitter |
Handle to the code generator. |
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 |
|