AMD LibM is a software library containing a collection of basic math functions optimized for x86-64 processor-based machines. It provides many routines from the list of standard C99 math functions.
AMD LibM is a C library, which users can link in to their applications to replace compiler-provided math functions. Generally, programmers access basic math functions through their compiler, but those who want better accuracy or performance than their compiler’s math functions can use this library to help improve their applications.
Highlights of AMD LibM 3.8 (in AOCL 3.1)
- MonteCarlo support
- exp2, log2 (scalar double precision)
- exp2f, log2f (scalar single precision)
- vrd2_exp2, vrd4_exp2 – 128/256 vector version
- vrs4_exp2f, vrs8_exp2f – 128/256 vector single precision
- vrs4_log2f, vrs8_log2f
- vrd2_log2, vrd4_log2
- Support of WRF 4.2.1 (Log10f scalar and vector functions)
- Dynamic dispatcher updates
- Updates in GLibc libmvec compat layer library
- Optimized Inverse Trigonometric variants
- asinf (Scalar), acosf (Scalar), atan (Scalar and Vector)
Highlights of AMD LibM 3.7 (in AOCL 3.0)
- Improved performance of Trigonometric scalar and vector variants of sin, cos, and tan
- Improved performance of Hyperbolic (single precision) scalar and vector variants of cosh and tanh
- Bug fixes in vector (double precision) log and exp
- Now source available at https://github.com/amd/aocl-libm-ose
The package containing AMD LibM binaries, examples and documentation are available in the Downloads section below.
Source code for AMD LibM will be available shortly on GitHub https://github.com/amd/aocl-libm-ose.
Refer here for prior versions of AMD LibM documentation and downloads.