天天看點

英特爾采用 LLVM 作為最新 C/C++ 編譯器

整理 | 孫勝

出品 | CSDN(ID:CSDNnews)

日前,英特爾官宣推出基于 LLVM 架構的下一代 C/C++ 編譯器,進而代替之前經典的英特爾 C++ 編譯器。 LLVM是底層虛拟機(Low Level Virtual Machine)的縮寫,是一個開源的編譯器架構,LLVM 核心庫提供了與編譯器相關的支援,可以作為多種語言編譯器的背景來使用。

英特爾采用 LLVM 作為最新 C/C++ 編譯器

CSDN付費下載下傳自東方IC

對此,英特爾專家James R Reinders在一篇文章中做了解釋:“英特爾為什麼将 LLVM 用于最新的 C/C++ 編譯器。并且強調了 LLVM 可以幫助英特爾實作最佳 C/C++ 編譯器的目标,認為使用基于LLVM架構的最新 C/C++ 編譯器,可以獲得更快的編譯時間、更好的優化,更多技術标準的支援以及對 GPU 和 FPGA 的解除安裝。

采用 LLVM 的好處

根據英特爾工程師報告,他們基于 LLVM 的最新 C/C++ 編譯器 2021.3 的建構時間比經典 C++ 編譯器低 14%,如圖1所示。雖然他們的經典 C++ 編譯器比原生态的 LLVM 和 GCC 高出18%的性能優勢,但基于 LLVM 的最新 C/C++ 編譯器 2021.3 提供比 GCC 11.1 快 41% 的性能,如圖2所示。英特爾在報告中聲明,将在最新編譯器裡添加了對 GPU 和 FPGA 的優化支援,繼續緻力于提供行業領先的 CPU 優化。

英特爾采用 LLVM 作為最新 C/C++ 編譯器

(來源于英特爾官網)圖1 所示

英特爾采用 LLVM 作為最新 C/C++ 編譯器

(來源于英特爾官網)圖2所示

最新編譯器的未來計劃

英特爾建議所有新項目都使用基于 LLVM 的英特爾 C/C++ 編譯器,計劃在今年把所有項目都遷移到新的編譯器。同時經典 的C/C++ 編譯器即将進入“傳統産品支援”模式,預示着經典編譯器的定期更新一旦結束,它們可能不會繼續出現在 oneAPI 工具包中。James R Reinders( 詹姆斯·R·雷德斯)在部落格中補充道,“全新的基于 LLVM 的 C/C++ 編輯器已與經典版本平起平坐,基于 LLVM 的 C/C++ 提供了我們擁有的最佳優化技術。我們建議所有使用者現在就嘗試新的 C/C++ 編譯器,并提供回報意見。"

James R Reinders( 詹姆斯·R·雷德斯)最後在部落格中提示到,使用者從經典的 C/C++ 編譯器轉換為基于 LLVM 的編譯器會有指南,使用者隻需注意編譯器具有不同的名稱 (icx)。基于 LLVM 的英特爾 Fortran 編譯器正在開發測試中,基于 LLVM 的 Fortran 編譯器測試版提供了對 Fortran 的廣泛支援,使用者可以檢視特定功能下的狀态:在 Fortran 和 OpenMP 功能狀态表中找到各個功能的各個版本狀态。

參考連結:

https://software.intel.com/content/www/us/en/develop/blogs/adoption-of-llvm-complete-icx.html#CoreMark-Pro-i7-8700K

繼續閱讀