我正在调查使用gotoblas库在一个CPU周期中可以完成多少FLOP。我使用32位浮点数来运行矩阵乘法,并且通过手动计算得到每个CPU周期大约8个FLOP。我想这可能是因为我的处理器(Intel Xeon E5430)中有两个FPU,每个FPU通过128位XMM寄存器处理一条SSE指令。因此,使用32位浮点数,每个CPU周期我得到2 * 4个FLOP。
我的猜测是否正确?是否有官方手册我可以参考获取一个英特尔处理器中的FPU数量?
谢谢!
答案 0 :(得分:1)
我想我发现了原因。从理论上讲,英特尔至强E5430可以在一个CPU周期内一起进行4宽SSE加4 + 4宽SSE乘法,实现单精度浮点数。