AMD Zen 3 用英特爾編譯器后性能如何
在幾天前,我曾經(jīng)發(fā)布了 Zen 3 微架構(gòu)的 Ryzen 7 5800X 使用 AMD 自家編譯器 AOCC 2.3 鎖頻運行于 4GHz 時候的 SPEC CPU 2017 測試結(jié)果,并且與 GNU 的 GCC 編譯器進行了對比,測試結(jié)果是不相伯仲,這兩天我又拿來了 Intel 的最新版本編譯器 OneAPI HPC Toolkit 進行了同樣的測試,現(xiàn)公布如下:




Intel 編譯器過去曾經(jīng)因為只為自家處理器提供最優(yōu)化代碼而受到指責(zé),后來受反壟斷法官司影響,(據(jù)聞)已經(jīng)拿掉了 CPU 廠商識別代碼,理論上它編譯出來的靜態(tài)代碼在各廠商的 x86 兼容處理器上是一樣的。
OneAPI 是 Intel 現(xiàn)在的軟件開發(fā)套件統(tǒng)稱,由編譯器、數(shù)學(xué)庫、Profiler 等組件組成,普通版本的 OneAPI 提供的編譯器主要是基于 LLVM 的 Clang 編譯器,只有 HPC Toolkit 版(我們測試的版本)的才是包括了 Intel Fortran 的純 Intel 血統(tǒng)編譯器。
Intel 當(dāng)前的 OneAPI HPC Toolkit 編譯器提供的最新臺式處理器微架構(gòu)旗標(biāo)是 skylake,也是我們這次測試使用的微架構(gòu)旗標(biāo)(-march=skylake),然后優(yōu)化級別我設(shè)置為 -Ofast。我們使用的優(yōu)化設(shè)置符合 SPEC CPU 2017 的運行規(guī)范,測試完成后的結(jié)果均為可以提交到官網(wǎng)的有效測試結(jié)果。
從測試結(jié)果來看,Intel 的編譯器在浮點測試(CPU 2017 fp rate base 和 fp speed base)中,要略好于 GCC,但是要比 AMD AOCC 慢一些,而在整數(shù)測試(CPU 2017 int rate base 和 int speed base)中,則明顯不如其它兩位選手。
所以,就目前而言,對于 AMD 的處理器,如果要想獲得最佳的通用計算性能,最好的選擇是浮點密集型使用 AOCC,整數(shù)密集型使用 GCC,采用 Intel 編譯器的話,整數(shù)性能會有一定的下降。