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.
引用格式
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. 检索来源 .
MATLAB 版本兼容性
创建方式
R2023b
兼容任何版本
平台兼容性
Windows macOS Linux标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!FMA
版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.0.0 |