我一直在尋找相當長的一段時間,似乎無法找到一個官方/結論性數字,指出英特爾至強四核可以完成的單精度浮點運算/時鐘週期數。我有一個Intel Xeon四核E5530 CPU。每個週期的浮點運算 - 英特爾
我希望用它來計算我的CPU可以達到的最大理論FLOP/s。
MAX FLOPS =(芯#號)*(時鐘頻率(週期/秒))×(#FLOPS /循環)
任何指向我在正確的方向將是有用的。我發現這個 FLOPS per cycle for sandy-bridge and haswell SSE2/AVX/AVX2
的Intel Core 2和Nehalem的:
4個DP觸發器/週期:2-寬SSE2加成+ 2範圍內的SSE2乘法
8 SP觸發器/週期:4全SSE加+4全SSE乘法
但我不確定這些數字是在哪裏找到的。他們是否假設融合乘法加法(FMAD)操作?
編輯:在DP中使用這個,我計算出英特爾引用的正確的DP算術吞吐量爲38.4 GFLOP/s(引用here)。對於SP,我得到了兩倍,即76.8 GFLOP/s。我很確定4個DP FLOP /週期和8個SP FLOP /週期是正確的,我只是想確認他們如何得到4和8的FLOPs /週期值。
( 8 SP FLOPs /週期)*(4核心)*(2.4GHz)= 76.8 GFLOP/s。處理器每個週期都可以執行加法和乘法指令。但他們沒有融合。 – Mysticial
你可能找不到一個官方號碼,因爲它沒有一個 - 它高度依賴於你的指令組合,以及它們之間的依賴關係。理論上的最大值可能會被計算出來,但是有很少有用的真實世界的程序(合成基準除外)能夠正確地按照正確的順序完成指令組合,以達到最大限度的... – twalberg
如果你好奇看看如何實現最大FLOP/s,看看:http://stackoverflow.com/questions/8389648/how-do-i-achieve-the-theoretical-maximum-of-4-flops-per -cycle這是一個雙精度,但它可以很容易地修改爲單精度。 – Mysticial