Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

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

Document Table of Contents

VM Data Types, Accuracy Modes, and Performance Tips

VM includes mathematical and pack/unpack vector functions for single and double precision vector arguments of real and compex types. Intel® oneAPI Math Kernel Library (oneMKL) provides Fortran and C interfaces for all VM functions, including the associated service functions. The Function Naming Conventions topic shows how to call these functions.

Performance depends on a number of factors, including vectorization and threading overhead. The recommended usage is as follows:

  • Use VM for vector lengths larger than 40 elements.

  • Use the Intel® Compiler for vector lengths less than 40 elements.

All VM vector functions support the following accuracy modes:

  • High Accuracy (HA), the default mode

  • Low Accuracy (LA), which improves performance by reducing accuracy of the two least significant bits

  • Enhanced Performance (EP), which provides better performance at the cost of significantly reduced accuracy. Approximately half of the bits in the mantissa are correct.

Note that using the EP mode does not guarantee accurate processing of corner cases and special values. Although the default accuracy is HA, LA is sufficient in most cases. For applications that require less accuracy (for example, media applications, some Monte Carlo simulations, etc.), the EP mode may be sufficient.

VM handles special values in accordance with the C99 standard [C99].

Intel® oneAPI Math Kernel Library (oneMKL) offers both functions and environment variables to switch between modes for VM. See the Intel® oneAPI Math Kernel Library (oneMKL) Developer Guide for details about the environment variables. Use the vmlSetMode(mode) function (see Table "Values of the mode Parameter") to switch between the HA, LA, and EP modes. The vmlGetMode() function returns the current mode.

Product and Performance Information

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

Notice revision #20201201