Tutorial

  • 2021.4
  • 09/27/2021
  • Public Content

Other Areas to Explore

The exercises so far have given the basic ideas needed to get started with
oneMKL
, 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
oneMKL
Developer Reference
:
  • 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
    oneMKL
    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
    oneMKL
    Developer Guide
    .
  • Single Dynamic Library (SDL) linking model
    oneMKL
    has two ways to link to dynamic libraries. The newest of these models is the best option for those calling
    oneMKL
    from managed runtime libraries and is easy to link, but requires some functions calls to use non-default interfaces (for example, ILP64). See the
    oneMKL
    Developer Guide
    for more information on
    oneMKL
    linking models.
Miscellaneous
  • Environment variables
    Many controls in
    oneMKL
    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
    oneMKL
    Developer Guide
    for descriptions of the environment variables used by
    oneMKL
    .

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.