星期日, 3月 28, 2010

[隨手亂畫] AVX: Sandy Bridge vs Bulldozer

執行AVX的效率,十之八九會決定這兩個微架構的勝負。比較有趣的地方是:

一、AMD Bulldozer是要兩個128 bit FMAC結合在一起,才能執行AVX256,兩個Core共用一個,換句話說,就算管線化,AVX256的Throughput也只有2 cycle。問題是:AMD的AVX實作支援FMA4,可以直接用單一執行單元搞定,而且理論上「當克服register dependency後,應該可以」同時執行兩個AVX128 Multiply-Add,或著AVX128與SSE混合的情況。AVX256的FMA拆成四個ROP大概也不是令人意外的結果。

二、Intel是每個Sandy Bridge核心都有獨立的AVX ADD、Multiply和Shuffle單元,號稱都可以1 Cycle Throughput,但Intel AVX不但已經取消FMA4,連Sandy Bridge也不會支援Fused FMA,可能要等到Haswell,當軟體實作FMA時,很可能會重演當年Pentium 3「最佳化SSE後只有8/5 Cycle」Throughput慘劇。

最後,只剩下兩邊的記憶體子系統效率,能不能滿足AVX吧。這點我倒是對Intel特別有信心。
張貼留言