Limitations of the Direct Call

Directly calling the Intel MKL kernels has the following limitations:

  • If the MKL_DIRECT_CALL or MKL_DIRECT_CALL_SEQ macro is used, Intel MKL may skip error checking.


    With a limited error checking, you are responsible for checking the correctness of function parameters to avoid unsafe and incorrect code execution.

  • The feature is only available for the following functions:

    • BLAS: ?gemm, ?gemm3m, ?syrk, ?trsm, ?axpy, and ?dot

    • LAPACK: ?getrf, ?getrs, ?getri, ?potrf, and ?geqrf. (available for C applications only)

  • Intel MKL Verbose mode, Conditional Numerical Reproducibility, and BLAS95 interfaces are not supported.

  • GNU* Fortran compilers are not supported.

  • For C applications, you must enable mixing declarations and user code by providing the -std=c99 option for Intel® compilers.

  • In a fixed format Fortran source code compiled with PGI compilers, the lines containing Intel MKL functions must end at least seven columns before the line ending column, usually, in a column with the index not greater than 72 – 7 = 65.


    The direct call feature substitutes the names of Intel MKL functions with longer counterparts, which can cause the lines to exceed the column limit for a fixed format Fortran source code compiled with PGI compilers. Because the compilers ignore any part of the line that exceeds the limit, the behavior of the program can be unpredictable.

Optimization Notice

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804

For more complete information about compiler optimizations, see our Optimization Notice.
Select sticky button color: 
Orange (only for download buttons)