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.
provides Fortran and C interfaces for all VM functions, including the associated service functions. The Function Naming Conventions
Intel® oneAPI Math Kernel Library
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
Intel® oneAPI Math Kernel Library
vmlSetMode
(mode
)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
|