将TBB与SSE2内在因子混合

时间:2011-02-06 08:40:36

标签: optimization parallel-processing sse simd

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

由于SSE2寄存器的数量有限,它会在性能方面造成损失吗?

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

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

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

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