Using MKL_DIRECT_CALL in Fortran Applications
The following examples of code and link lines show how to activate direct calls to
kernels in Fortran applications:
Intel® oneAPI Math Kernel Library
- Includemkl_direct_call.fi, to be preprocessed by the Fortran compiler preprocessor# include "mkl_direct_call.fi" program DGEMM_MAIN .... * Call Intel MKL DGEMM .... call sub1() stop 1 end * A subroutine that calls DGEMM subroutine sub1 * Call Intel MKL DGEMM end
- For multi-threaded, compile withIntel® oneAPI Math Kernel Library-fppoption for Intel Fortran compiler and withMKL_DIRECT_CALLpreprocessor macro:ifort –DMKL_DIRECT_CALL –fpp your_application.f $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a $(MKLROOT)/lib/intel64/libmkl_core.a $(MKLROOT)/lib/intel64/libmkl_intel_thread.a -lpthread –lm -openmp -I$(MKLROOT)/include
- To usein the sequential mode, compile withIntel® oneAPI Math Kernel Library-fppoption for Intel Fortran compiler (or with-Mpreprocessfor PGI compilers) and withMKL_DIRECT_CALL_SEQpreprocessor macro:ifort –DMKL_DIRECT_CALL_SEQ –fpp your_application.f $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a $(MKLROOT)/lib/intel64/libmkl_core.a $(MKLROOT)/lib/intel64/libmkl_sequential.a -lpthread –lm -I$(MKLROOT)/include
Product and Performance Information
|
---|
Performance varies by use, configuration and other factors. Learn more at
www.Intel.com/PerformanceIndex.
Notice revision #20201201
|