2013年6月22日 星期六

AMD推土機架構的buff:改個指令,SuperPi性能大幅提升

芬蘭超頻玩家日前就做了一次有益的嘗試,針對推土機跑SuperPi不利的情況,他根據推土機的架構設計了一個小軟件,可以大幅提升推土機的性能。


  AMD的模塊化物理多線程(CMT)架構推出已經有2年了,第一代是Bulldozer推土機,目前的是Piledriver打樁機,今年底的Kaveri APU上將啟用第三代模塊化架構Steamroller壓路機。從過去的表現來看,AMD的推土機架構在性能上的表現不算成功,與Intel同級別的CPU無法相提並論,之前也有文章深入分析了AMD推土機架構失利的原因。不過這種模塊化架構的創新性還是有的,AMD欠缺的是推動業界為新架構優化的能力,因為這對規模、實力較為弱小的AMD來說實在是個難以承載的任務。


 


  之前的性能測試中最為常見的一個例子就是SuperPiAMDFX-8120 /FX-8150/FX-83501M成績普遍在20秒以上,而IntelCore i5-2500K就已經接近10秒,雙方的性能差距非常大。出現這種情況不單是AMD架構設計的問題,還與SuperPi對新架構支持不足有關。(但是大家都認這個軟件的成績,包括超頻玩家)


  說了這麼多前提我們回到重點上。芬蘭超頻玩家Stilt根據推土機架構的特點做了優化,不需要硬件升級就能大幅提高推土機架構處理器的SuperPi成績,我們先來看他做過的性能對比。


  首先是默認4.1GHz頻率的A10-6800K32M SuperPi成績是17分鐘34秒(1054秒),而之前他將A10-6800K超頻到5GHz之後獲得的最好成績也不過是18分鐘151095秒),考慮到二者之間的頻率差異,SuperPi能有這種提升已經算得上驚人。



未修正前的1M SuperPi成績,CPUFX-8320



補丁之後的SuperPi成績,從22秒減少到了19秒,對SuperPi來說提昇明顯


  下面兩張圖則是他在液氮環境下超頻到7GHz之後做成績。



32M運算用時10分鐘40.87秒(640.87秒)(圖片點擊放大)



1M SuperPi用時11.266秒(點擊放大)


  據Stilt所說,他開發的這個軟件已經接近完成,在RichlandTrinity以及Vishera平台上表現都不錯,不在Zambezi(贊比西河)處理器上有點問題,性能提升並不明顯,因為代碼對Zambezi的寄存器沒有反應,好像是AMDBIOS中用ESI/EDI密碼做了保護。


  目前這個軟件已經提供下載,界面如下圖所示。



Bulldozer Conditioner R1.00軟件


軟件下載地址(右鍵另存為)


  如果你有興趣讀一讀這個軟件的原理,可以參考哥本哈根大學的一篇論文SuperPi主要使用傳統的X87指令,公認它只對CPU單線程敏感,因此對多核CPU來說SuperPi並不能準確反映他們的性能,不過SuperPi還是被看作一種指令標準。


  AMD的推土機架構偏偏對SuperPi來說非常不利,每個模塊使用的是2個整數單元+1個彈性浮點單元的設計,相比以往的CPU來說浮點單元減少一半,而且緩存延遲更高,Stilt設計的軟件就是修正這個缺點而來的。


  編者註:初看原文還以為AMD的推土機架構獲得了很強的buff,現在看來這個buff實際上只是針對SuperPi的,對日常應用來說恐怕沒什麼效果,因為Stilt的軟件優化的只是SuperPiX87指令,除非其他應用也跟SuperPi一樣大量使用了X87指令,否則是看不到明顯效果的。


   這個發現最大的意義是讓人看到了希望,如果業界能針對AMD的推土機架構做優化,那麼推土機的表現或許就不會是現在的樣子。只是這個假設難度太高了,即便是Intel也不能保證軟件及開發者都對自己的CPU架構做足夠的優化。


 引用:http://www.expreview.com/26293.html


沒有留言:

張貼留言