Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在c+中有没有简单的方法来使用乘法累加+;?_C++_Fma - Fatal编程技术网

C++ 在c+中有没有简单的方法来使用乘法累加+;?

C++ 在c+中有没有简单的方法来使用乘法累加+;?,c++,fma,C++,Fma,我在c++AMP库中使用mad函数获得了巨大的性能优势。我想知道是否有类似的函数,为常规C++ 11?我在谷歌上发现的只是AVX内部函数的内容,但我宁愿避免使用它们,因为它们没有得到普遍支持 也似乎是所有的都是同时处理4个MAD运算的,我不确定构造一个环境来实现这一点,而实际上只使用其中1个是有效的。C++和C++中的< /P> < P>有FMA族的数学函数: C: C++: 因为它们是标准库的一部分,所以它们应该足够便携。你的意思是这样的吗?这取决于你的CPU和编译器,但是如果你的CPU支

我在c++AMP库中使用mad函数获得了巨大的性能优势。我想知道是否有类似的函数,为常规C++ 11?我在谷歌上发现的只是AVX内部函数的内容,但我宁愿避免使用它们,因为它们没有得到普遍支持


也似乎是所有的都是同时处理4个MAD运算的,我不确定构造一个环境来实现这一点,而实际上只使用其中1个是有效的。C++和C++中的< /P> < P>有FMA族的数学函数:

  • C:
  • C++:

因为它们是标准库的一部分,所以它们应该足够便携。

你的意思是这样的吗?这取决于你的CPU和编译器,但是如果你的CPU支持FMA(例如Haswell),并且你的编译器已经达到了一半,那么你可能已经得到了融合乘法累加。你期待什么?便携方式?你没看到它严重依赖于架构吗?@user4419802根据答案,是的:p@user81993当然,它不能保证比
(x*y+z)
更好的性能,但通常它应该这样做。那好吧。