有没有一种在 C++ 中使用乘法累加的简单方法?
Is there a simple way to use multiply accumulate in c++?
我通过使用 c++AMP 库中的 mad 函数获得了巨大的性能优势。我想知道常规 C++ 11 是否有类似的功能?我在谷歌上发现的所有内容都是关于 AVX 内在函数的东西,但我宁愿避免使用它们,因为它们没有得到普遍支持。
此外,它们似乎都是为同时处理 4 个以上的疯狂操作而设计的,我不确定在实际只使用其中 1 个的同时构建一个环境来实现这种情况是否有效。
在 C 和 C++ 中有 fma 系列数学函数:
- C: http://en.cppreference.com/w/c/numeric/math/fma
- C++:http://en.cppreference.com/w/cpp/numeric/math/fma
由于它们是标准库的一部分,因此应该具有足够的可移植性。
我通过使用 c++AMP 库中的 mad 函数获得了巨大的性能优势。我想知道常规 C++ 11 是否有类似的功能?我在谷歌上发现的所有内容都是关于 AVX 内在函数的东西,但我宁愿避免使用它们,因为它们没有得到普遍支持。
此外,它们似乎都是为同时处理 4 个以上的疯狂操作而设计的,我不确定在实际只使用其中 1 个的同时构建一个环境来实现这种情况是否有效。
在 C 和 C++ 中有 fma 系列数学函数:
- C: http://en.cppreference.com/w/c/numeric/math/fma
- C++:http://en.cppreference.com/w/cpp/numeric/math/fma
由于它们是标准库的一部分,因此应该具有足够的可移植性。