Intel reported on a blog this week that the adoption of the open source LLVM architecture for Intel’s C / C ++ compilers has been completed. The transition is part of Intelâs ongoing efforts to strengthen oneAPI as the tool suite of choice for programming Intelâs growing portfolio of diverse processors, including CPUs, FPGAs and GPUs.
James Reinders’ blog states, âWe recommend that all new projects start with the LLVM-based Intel C / C ++ compilers, and all existing projects should have a plan to migrate to the new compiler this year. At some point in the future the classic C / C ++ compilers will switch to “Legacy Product Support” mode, which signals the end of regular updates of the classic compiler base, and they will no longer appear in oneAPI toolkits. “
Intel’s former tool suite, Parallel Studio XE, was renamed and repackaged when Intel oneAPI toolkits were released in December 2020; These kits contained all of the Parallel Studio tools as well as a DPC ++ (Data Parallel C ++) compiler. The latest blog states that Intel has adopted the LLVM as the base compiler architecture and that Intel has added or modified select features to directly support the Intel architecture.
Reinders wrote: âThe performance of the Intel C / C ++ compilers can be expected to provide higher performance than the basic Clang + LLVM compilers for the Intel architecture. The standard for the future Intel C / C ++ compilers are versions (icx) that have adopted the LLVM open source infrastructure. We continue our many years of experience as a contribution to the Clang and LLVM projects, including optimizations for LLVM and Clang. Not all of our optimization techniques are brought upstream – sometimes because they’re too new, sometimes because they’re very specific to the Intel architecture. This is to be expected and is in line with other compilers that have adopted LLVM. “
Reinders outlined the development plans: “To support Intel’s evolving platforms, we are focused on supporting new features and hardware in our LLVM-based compilers, while maintaining our ongoing commitment to providing industry-leading CPU optimizations with highly optimized support for Have added GPUs and FPGAs. With our LLVM-based compilers we will have support for SYCL, C ++ 20, OpenMP 5.1 and OpenMP GPU target device support. “
Intel estimates that its latest LLVM-based compiler shows a 14 percent reduction in build time over the previous version, a 41 percent improvement in floating point performance, and a 48 percent improvement in integer performance in a popular SPECrate test ( Tables below).
Reinders wrote: âThere is an excellent guide for converting from the classic C / C ++ compiler to the LLVM-based compilers. The first thing you will notice is that the compiler has a different name (icx). That way you can install both the classic and the new compilers and choose between them. Many users have already made the switch to rely exclusively on the LLVM-based Intel C / C ++ compilers for their products in the future. The latest release notes contain more details about known issues and limitations (release notes for the classic C / C ++ compilers are also available). In our webinars (“Talk to Experts”) you will find the opportunity to hear from experts live or on demand from previously recorded sessions. “
As noted by Intel, the LLVM open source project is a collection of modular and reusable compiler and toolchain technologies that support multiple processor architectures and programming languages. The open source project Clang offers a C / C ++ frontend that supports the latest language standards for the LLVM project. LLVM, including Clang, are maintained by a large and very active developer community.
Link to the full blog, https://software.intel.com/content/www/us/en/develop/blogs/adoption-of-llvm-complete-icx.html#SPECrate2017estimated