代码之家  ›  专栏  ›  技术社区  ›  jakogut

同时使用多个SIMD指令集的好处

  •  4
  • jakogut  · 技术社区  · 15 年前

    我认为这个设置可以帮助隐藏内存延迟,但是我想在我开始投入时间之前确定一下。

    2 回复  |  直到 15 年前
        1
  •  8
  •   SoapBox    15 年前

    SSE和MMX指令集在CPU中共享同一组向量处理执行单元。因此,运行一个SSE线程和一个MMX线程将拥有每个线程相同的可用资源,就像运行两个SSE线程(或两个MMX线程)一样。唯一的区别在于SSE中存在的指令而不是MMX(因为SSE是MMX的扩展)。但在这种情况下,MMX可能会更慢,因为它没有那些更高级的指令。

    所以答案是:不,与运行两个SSE线程相比,您不会看到性能的改进。

        2
  •  -1
  •   Stack Overflow is garbage    15 年前

    更好的问题是如何在目标CPU上实现SSE。每个核心有一个SSE单元吗(可能)如果是这样,那么您最好在每个线程上运行SSE指令。

    如果它在内核之间有一个共享的SSE单元,那么不同的线程将争夺它,因此在多个线程中执行SSE指令不会获得太多好处(我不知道是否有CPU在线程之间共享SSE单元,所以将此作为一个假设情况)

    推荐文章