Release Notes
for the Vector Math Library (VML)
for Intel® Architecture Processors

This document describes Vector Math Library (VML), which is designed to compute elementary functions on vector arguments. VML is an integral part of the Intel® Math Kernel Library and the VML terminology is used here for simplicity in discussing this group of functions.

VML includes a set of highly optimized implementations of certain computationally expensive core mathematical functions (power, trigonometric, exponential, hyperbolic etc.) that operates on vectors. VML may significantly improve performance for such applications as nonlinear software, computations of integrals, and many others.

Each vector function from VML (for each data format) can work in two modes: High Accuracy (HA) and Low Accuracy (LA). For many functions, using the LA version will improve performance at the cost of accuracy. For some cases, the advantage of relaxing the accuracy improves performance very little so the same function is employed for both versions. Error behavior depends not only on whether the HA or LA version is chosen, but also depends on the processor on which the software runs. For instance, the Streaming SIMD Extensions (SSE) have different arithmetic behavior than do X87 instructions, so results will differ between an Intel® Pentium® processor and a Pentium® 4 processor, the latter employing the SSE-2 instructions. In addition, special value behavior may differ between the HA and LA versions of the functions. For more information see the special value behavior and accuracy documents.

This document is intended for more detail description of performance and accuracy properties of VML functions. There are several considered issues (performance, accuracy, special values processing) and two levels of details (brief information for all functions in one table and more detailed information for every function on a separate page).

Performance issues: Performance numbers in table are shown for so-called "working" intervals arguments. For other intervals performance behavior may be different. For example, it's quite expensive to compute trigonometric functions on "huge" arguments. Therefore, to obtain needed accuracy performance is sacrificed. Each function lists the working interval over which performance is measured. On the same page one can  find the graphics that describe how the performance behavior depends on vector's length. There are two extreme cases: so-called "short" and "long" vectors (logarithmic scale is used to show both cases). For short vectors there are cycle organization and initialization overheads. The cost of such overheads is amortized with increasing vector length, and for vectors longer than a few ten's of elements the performance remains quite flat up until the L2 cache size is exceeded with the length of the vector.

Data prefetching with the Intel® Pentium® III (explicit data prefetch in software) and Pentium 4 (implicit data prefetch in hardware) processors greatly reduce the out-of-cache problem.

Accuracy issues: The design requirements for the HA functions is less than 1.0 ulp error with all special values being processed correctly. For the LA version some of these requirements are relaxed. For more details, see table with ulp errors for all functions, particular page for each function, Special Values table for all functions.

Special Values Processing issues: Special Values are processed in accordance to C9X standard. For a full list of special values for every function see the corresponding table. This table shows also how the particular function implementation satisfies SV requirements: "+" or "-" in table. Note, that for HA it should be always "+".

List of VML Functions
Perfomance of All VML Functions
Measured Accuracy of All VML Functions
Special Values of All VML Functions


Intel and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.

Copyright© 2000-2002, Intel Corporation, All Rights Reserved.