引用:
|
作者lobben
http://ushiro.jp/program/pi/cdrmrmnj.htm
原始碼太長了 XD
沒仔細看 但中間運算的副程式大多宣告了一堆double參數
所以是偏浮點數運算居多??
而這裡 ( http://ushiro.jp/program/pi.htm)的倍精度實數應該是指double float而非long int吧?
那Pentium 4在x87指令運算極弱的情況下為什麼可以在super pi 不被k8幹掉呢...
(純好奇)
|
我是第一次看到SuperPI的source code (抱歉了, 才粗學淺)
P4的浮點運算能力不弱, 但他的x87非常的弱, 這兩個是不同的事情
如果說程式又大量使用浮點運算, 程式在編譯時, 沒有針對SSE2運算做調整, 我不認為單靠ADD指令優勢, 以及高記憶體頻寬的P4架構會有甚麼優勢
我倒是傾向於他在編譯程式時, 使用了SSE2加速, 但SSE2指令並不是requirement
(如有興趣, 請參閱Intel compiler的設定)
所以程式仍然是可以在一般的CPU上頭跑, 而P4跑起來也不至於都得用那跛跛的x87
以上只是我的猜測, 如果有說錯, 也歡迎指教討論