获得两个双精度数组的绝对差值之和的有效方法

时间:2013-06-23 02:44:46

标签: c

是否有更有效的方法来获得C / C ++中double的两个内存块数组的绝对差值之和,而不是在数组元素上执行循环?所以,我想知道是否有一个类似于memsetmemcpymemcmp等的功能。

  

你如何定义差异?

内存块包含double个值,我需要的是内存块数组的相应索引中值之间的绝对数值差的总和。

1 个答案:

答案 0 :(得分:1)

是的,有SIMD。如果您使用GCC,可以尝试添加-msse2 -O3之类的内容,看看它是否会自动为您生成SIMD说明。如果是,或者您选择使用库来执行显式SIMD,则可以为每条指令处理四个浮点数。为了提高你的机会,尝试使你的内部循环变得简单,以便优化器可以轻松处理它。