Developer Guide

Contents

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

Product and Performance Information

1

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