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

Posted 一去丶二三里

tags:

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

星标/置顶 公众号????,硬核文章第一时间送达!

出品 | OSC开源社区

英特尔的长期编译器专家 James Reinders 在一篇博客中透露,他们将在下一代英特尔 C/C++ 编译器中使用 LLVM 开源基础架构;并分享了一些相关信息。

“LLVM 有助于我们实现为英特尔架构提供最佳 C/C++ 编译器的目标。最新的英特尔 C/C++ 编译器使用 LLVM,可提供更快的编译时间、更好的优化、增强的标准支持,以及对 GPU 和 FPGA 卸载的支持......采用 LLVM 的好处很多,我将提供从经典编译器升级到基于 LLVM 的编译器的建议。我们致力于使其尽可能的无缝,同时为使用英特尔编译器的开发者带来众多好处。”

在构建时间方面,英特尔工程师报告称,新的基于 LLVM 的 oneAPI DPC++/C++ Compiler 2021.3 的构建时间相较他们的经典 C++ 编译器要减少了 14%。虽然经典英特尔 C++ 编译器一直比上游的 LLVM 和 GCC 快,但 oneAPI DPC++/C++ Compiler 2021.3 可提供比 GCC 11.1 快 41% 的性能。且新的基于 LLVM 的编译器的浮点性能比 ICC 高约 19%。

James 表示,他们在基于 LLVM 的编译器中专注于新功能和硬件支持。包括在其中添加了对 GPU 和 FPGA 的高度优化支持,同时继续致力于提供 CPU 优化。其基于 LLVM 的编译器将支持 SYCL、C++20、OpenMP 5.1 和 OpenMP GPU 目标设备支持。

“我们鼓励用户通过现在转向我们基于 LLVM 的 C/C++ 编译器来利用更快的构建时间、更高级别的优化和新功能。英特尔长期致力于 LLVM,以帮助持续创新以及我们对行业领先优化的不懈追求。”

并建议所有新项目都使用基于 LLVM 的英特尔 C/C++ 编译器,现有项目也应计划在今年迁移到新的编译器。James 称,在未来的某个时间点,经典 C/C++ 编译器将进入"Legacy Product Support"模式。这标志着对经典编译器基础的定期更新结束,它们将不再出现在 oneAPI 工具包中。

“全新的基于 LLVM 的 Intel C/C++ 已与经典版本达到同等水平,基于 LLVM 的 C/C++ 提供了我们拥有的最佳优化技术。我们建议所有用户现在就尝试新的 C/C++ 编译器,享受好处并提供反馈。”

此外,基于 LLVM 的英特尔 Fortran 编译器也正在进行中。目前,已有一个基于 LLVM 的 Fortran 编译器测试版提供了对 Fortran 的广泛支持,还有一些功能仍在开发中。

往期推荐

☞ 专辑 | 趣味设计模式

☞ 专辑 | 音视频开发

☞ 专辑 | C++ 进阶

☞ 专辑 | 超硬核 Qt

☞ 专辑 | 玩转 Linux

☞ 专辑 | GitHub 开源推荐

☞ 专辑 | 程序人生

关注公众「高效程序员」????,一起优秀!

回复 “入群” 进技术交流群,回复 “1024” 获取海量学习资源。

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

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

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

如何使 clang 编译为 llvm IR

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

LLVM编译器基础 架构

如何使用LLVM将C语言编译为WASM