Developer Guide for Intel® oneAPI Math Kernel Library for Linux*
Using MKL_DIRECT_CALL in C Applications
The following examples of code and link lines show how to activate direct calls to Intel® oneAPI Math Kernel Library (oneMKL) kernels in C applications:
Include the mkl.h header file:
#include "mkl.h" int main(void) { // Call Intel MKL DGEMM return 0; }For multi-threaded Intel® oneAPI Math Kernel Library (oneMKL), compile with the MKL_DIRECT_CALL preprocessor macro:
icx –DMKL_DIRECT_CALL -std=c99 your_application.c -Wl,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a $(MKLROOT)/lib/intel64/libmkl_core.a $(MKLROOT)/lib/intel64/libmkl_intel_thread.a -Wl,--end-group -lpthread –lm -openmp -I$(MKLROOT)/includeTo use JIT direct call for eligible ?gemm calls, replace MKL_DIRECT_CALL with MKL_DIRECT_CALL_JIT in the compilation line above.
To use Intel® oneAPI Math Kernel Library (oneMKL) in sequential mode, compile with the MKL_DIRECT_CALL_SEQ preprocessor macro:
icx –DMKL_DIRECT_CALL_SEQ -std=c99 your_application.c -Wl,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a $(MKLROOT)/lib/intel64/libmkl_core.a $(MKLROOT)/lib/intel64/libmkl_sequential.a -Wl,--end-group -lpthread –lm -I$(MKLROOT)/includeTo use JIT direct call for eligible ?gemm calls, replace MKL_DIRECT_CALL_SEQ with MKL_DIRECT_CALL_SEQ_JIT in the compilation line above.
Product and Performance Information |
|---|
Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex . Notice revision #20201201 |