有人能告诉我怎样才能算出32位无符号整数乘法的最大数量我可以通过SSE/AVX使用SIMD在Ivy Bridge CPU上同时完成的最大数量?使用SSE/AVX在Ivy Bridge上进行最大SIMD整数乘法?
我知道AVX确实有用于乘法的256位寄存器,但是这是用于浮点的(AVX2引入了256位整数寄存器)。因此,我不太确定使用浮点寄存器进行整数乘法(如果可能的话)是否会更好?
此外,我不确定它是否仅仅关注寄存器的数量,还是我需要查看CPU的端口。看起来像端口0和端口5可以处理SSE整数ALU?
你可以使用double来代替。所有32位整数完全由双精度表示 –
@LưuVĩnhPhúc:虽然这是真的,但它也需要更多空间,只有4个适合AVX寄存器,完全无法达到目的。您已经可以在SSE寄存器中放入四个32位整数。 –
伙计们我发现了这个我需要的例子,但是它对于带符号整数,有没有人知道如何改变它为无符号? http://stackoverflow.com/questions/10500766/sse-multiplication-of-4-32-bit-integers – user997112