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




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