英特尔采用 LLVM 作为最新 C/C++ 编译器

Posted 咕噜咕噜88

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了英特尔采用 LLVM 作为最新 C/C++ 编译器相关的知识,希望对你有一定的参考价值。

整理 | 孙胜
出品 | CSDN(ID:CSDNnews)

日前,英特尔官宣推出基于 LLVM 架构的下一代 C/C++ 编译器,从而代替之前经典的英特尔 C++ 编译器。 LLVM是底层虚拟机(Low Level Virtual Machine)的缩写,是一个开源的编译器架构,LLVM 核心库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用。

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 优化。

(来源于英特尔官网)图1 所示

(来源于英特尔官网)图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

以上是关于英特尔采用 LLVM 作为最新 C/C++ 编译器的主要内容,如果未能解决你的问题,请参考以下文章

英特尔为其 C/C++ 编译器全面采用 LLVM

C/C++ 编译器全面采用 LLVM

LLVM编译器基础 架构

LLVM 5.0.1 发布,编译器架构

缓存型 C++ 编译器 Zapcc 开源,号称比 Clang 更快

SDAP接入Clang Static Analyzer