SSE计划在AMD上花费的时间比在英特尔上要长得多

时间:2011-06-19 16:21:41

标签: optimization sse

我正在使用SSE2指令优化算法。但是当我测试性能时,我遇到了这个问题:

I)Intel e6750

  1. 执行4次非SSE2算法需要14.85秒
  2. 做一次SSE2算法(处理相同数据)需要6.89秒
  3. II)Phenom II x4 2.8Ghz

    1. 执行4次非SSE2算法需要11.43秒
    2. 做一次SSE2算法(处理相同数据)需要12.15秒
    3. 任何人都可以帮助我为什么会这样?我对结果感到很困惑。

      在这两种情况下,我都使用-O3作为标记来编译g ++。

      PS:算法不使用浮点数学,它使用SSE的整数指令。

1 个答案:

答案 0 :(得分:4)

英特尔在过去5年左右的SSE实施方面取得了很大的进步,但AMD并没有真正跟上。最初两者都只是64位执行单元,128位操作被分解为2个微操作。自从Core和Core 2推出以来,Intel CPU已经实现了完整的128位SSE实现,这意味着128位操作有效地实现了2倍的吞吐量提升(1微操作与2)。更新的Intel CPU也有多个SSE执行单元,这意味着你可以获得> 128位SIMD指令的每时钟吞吐量为1条指令。