C++ 在c+中有没有简单的方法来使用乘法累加+;?
我在c++AMP库中使用mad函数获得了巨大的性能优势。我想知道是否有类似的函数,为常规C++ 11?我在谷歌上发现的只是AVX内部函数的内容,但我宁愿避免使用它们,因为它们没有得到普遍支持C++ 在c+中有没有简单的方法来使用乘法累加+;?,c++,fma,C++,Fma,我在c++AMP库中使用mad函数获得了巨大的性能优势。我想知道是否有类似的函数,为常规C++ 11?我在谷歌上发现的只是AVX内部函数的内容,但我宁愿避免使用它们,因为它们没有得到普遍支持 也似乎是所有的都是同时处理4个MAD运算的,我不确定构造一个环境来实现这一点,而实际上只使用其中1个是有效的。C++和C++中的< /P> < P>有FMA族的数学函数: C: C++: 因为它们是标准库的一部分,所以它们应该足够便携。你的意思是这样的吗?这取决于你的CPU和编译器,但是如果你的CPU支
也似乎是所有的都是同时处理4个MAD运算的,我不确定构造一个环境来实现这一点,而实际上只使用其中1个是有效的。C++和C++中的< /P> < P>有FMA族的数学函数:
- C:
- C++:
因为它们是标准库的一部分,所以它们应该足够便携。你的意思是这样的吗?这取决于你的CPU和编译器,但是如果你的CPU支持FMA(例如Haswell),并且你的编译器已经达到了一半,那么你可能已经得到了融合乘法累加。你期待什么?便携方式?你没看到它严重依赖于架构吗?@user4419802根据答案,是的:p@user81993当然,它不能保证比
(x*y+z)
更好的性能,但通常它应该这样做。那好吧。