double precision fma function for every body
Version 1.0.0 (7.37 KB) by
Alain Barraud
fma computation is no natively available within Matlab (only via Fixed-Point Designer toolbox). Here is a fma routine for real double.
FMA is a very efficient basic arithmetic function to compute d=a*b+c. In practice a*b+c is internaly exactly computed and d receives the double precision approximation of this exact result. Our code FMA does this job using simd feature of any not too old processor. Our code is limited to double precision variable and AVX2 registers (256 bits i.e. 4 double). a, b, c and are scalars or 1D vectors of same length. Our C routine uses openmp (multithreadings) and simd (4 operations at the same time within 256 bits registers) and is faster than the built in matlab fma (less overhead because limited to 1D double).
This function can be extended to AVX3 (512 bits registers) for the most recent CPUs.
Cite As
Alain Barraud (2024). double precision fma function for every body (https://www.mathworks.com/matlabcentral/fileexchange/155607-double-precision-fma-function-for-every-body), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Created with
R2023b
Compatible with any release
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
FMA
Version | Published | Release Notes | |
---|---|---|---|
1.0.0 |