【问题标题】:Mixing TBB with SSE2 intrinsics将 TBB 与 SSE2 内在函数混合
【发布时间】:2011-02-06 08:40:36
【问题描述】:

在 parallel_for 中使用 SSE2 内在是个好主意吗?

由于SSE2寄存器数量有限,会不会在性能上造成损失?

每个 CPU 芯片都有自己的 SSE2 寄存器吗?

【问题讨论】:

    标签: optimization parallel-processing sse simd


    【解决方案1】:

    每个 CPU 内核 都有自己的 SSE 寄存器。线程和 SSE 几乎没有关系。随意使用两者。

    【讨论】:

      【解决方案2】:

      在 parallel_for 中使用 SSE2 内在是个好主意吗? 那要看。这绝对不是一个坏主意。您应该分析您的代码,并在性能最重要的地方使用内部函数。

      由于SSE2寄存器的数量有限,会不会造成性能上的损失? 如果您担心注册压力,那么您不必担心。当您使用内在函数时,编译器会为您分配寄存器(与编写汇编不同)。用内部函数手写的代码通常比从高级语言编译的代码更紧凑。您应该在每次更改后分析您的代码,以查看性能是否有所提高。

      每个 CPU 芯片都有自己的 SSE2 寄存器吗? 每个逻辑 CPU 都有自己的 8 个(32 位模式)或 16 个(64 位模式)XMM 寄存器。在现代 CPU 中,每个内核都是一个逻辑 CPU,如果启用了超线程,甚至是两个逻辑 CPU。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-22
        • 1970-01-01
        • 2011-03-22
        • 1970-01-01
        • 1970-01-01
        • 2023-03-11
        • 2016-01-01
        • 1970-01-01
        相关资源
        最近更新 更多