Using the Intel® Math Kernel Library 11.3 for Matrix Multiplication Tutorial

Other Areas to Explore

The exercises so far have given the basic ideas needed to get started with Intel MKL, but there are plenty of other areas to explore. The following are some controls, interfaces, and topics which you might find worth investigating further.

Support functions

The second exercise shows how to use the timing functions and the third exercise shows the use of threading control functions. Acquaint yourself with other support functions by referring to the "Support functions" chapter of the Intel MKL Reference Manual:

  • Support functions for Conditional Numerical Reproducibility (CNR)

    These functions provide the means to balance reproducibility with performance in certain conditions.

  • Memory functions

    These functions provide support for allocating and freeing memory. The allocation functions allow proper alignment of memory to ensure reproducibility when used together with CBWR functions.

  • Error handling functions

    The xerbla function is used by BLAS, LAPACK, VML, and VSL to report errors.

Linking and interfaces
  • The ILP64 interface

    Most users call the interface of Intel MKL that takes 32-bit integers for size parameters, but increased memory and also some legacy code requires 64-bit integers. Read more about the ILP64 interface and the libraries and functions supporting it in the Intel MKL User's Guide.

  • Single Dynamic Library (SDL) linking model

    Intel MKL has two ways to link to dynamic libraries. The newest of these models is the best option for those calling Intel MKL from managed runtime libraries and is easy to link, but requires some functions calls to use non-default interfaces (for example, ILP64). See the Intel MKL User's Guide for more information on Intel MKL linking models.

Miscellaneous
  • Environment variables

    Many controls in Intel MKL have both environment variables and functional versions. In all cases the function overrides the behavior of the environment variable. If you do not want the behavior to change based on an environment variable in a particular case, use the function call to ensure the desired setting. See the Intel MKL User's Guide for descriptions of the environment variables used by Intel MKL.

Previous

See Also