0

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

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

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

4

2 回答 2

4

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

于 2011-02-06T08:53:54.753 回答
1

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

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

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

于 2011-02-09T20:44:02.793 回答