Developer Guide

Developer Guide for Intel® oneAPI Math Kernel Library Windows*

ID 766692
Date 7/13/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Using MKL_DIRECT_CALL in Fortran Applications

The following examples of code and link lines show how to activate direct calls to Intel® oneAPI Math Kernel Library (oneMKL) kernels in Fortran applications:

  • Include mkl_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 Intel® oneAPI Math Kernel Library (oneMKL), compile with/fpp option for Intel Fortran compiler and with MKL_DIRECT_CALL preprocessor macro:

    ifort /DMKL_DIRECT_CALL /fpp your_application.f mkl_intel_lp64.lib mkl_core.lib mkl_intel_thread.lib /Qopenmp -I%MKLROOT%/include
  • To use Intel® oneAPI Math Kernel Library (oneMKL) in the sequential mode, compile with/fpp option for Intel Fortran compiler (or with -Mpreprocess for PGI compilers) and with MKL_DIRECT_CALL_SEQ preprocessor macro:

    ifort /DMKL_DIRECT_CALL_SEQ /fpp your_application.f mkl_intel_lp64.lib mkl_core.lib mkl_sequential.lib -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