gentooLTO
gentooLTO copied to clipboard
Use of Intel® oneAPI DPC++/C++ Compiler (ICX and ICPX)
Hi all,
It's been awhile since I attempted setting up Gentoo with this overlay, but I was wondering if, for those with Intel CPUs, has anyone attempted to install and use Intel's new C/C++ compiler which is now based on LLVM? You can find a standalone release here: https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#dpcpp-cpp
It's free to use, but is proprietary and requires accepting a EULA. However, they claim anywhere from 15-60% performance improvements compared to GCC or even Clang... I think this might be worth looking into, especially if it can be a drop-in replacement for Clang (it supports all of Clang's flags, if passed after -Xclang
). All optimizations can be enabled with the -fast
flag (see the reference documentation). You may also want to enable -falign-functions=32
and to look at the reference documentation for more specific compiler and linker options (-fast
enables IPO/LTO), but if you want to try other optimization levels, you can mix and match flags like -O3 -ipo4
, which should be equivalent to -O3 -flto=4
. Take a look at the full Reference Guide!
I wish it was open-source, as that would certainly make its adoption easier, but it still seems worth exploring if their numbers are accurate and generalize outside of benchmarks.
I guess I'm wondering what to change in make.conf
to enable this globally, and whether more advanced users (than me) would be willing to temporarily try this compiler out system-wide. I assume other flags might be needed to ensure compatibility with GCCisms (pragmas), similar to packages that need help compiling with Clang.
I don't have access to AMD hardware, but it would be interesting to have users of this repo compare performance of the same program compiled with gcc
, clang
, AOCC, and icx/icpx
. Perhaps we can get a Wiki page going similar to the one that already exists for AOCC, but for icx/icpx
.
Currently that compiler doesn't work with an unpatched Meson, I've filed (https://github.com/mesonbuild/meson/issues/8113) with them in 2020 and a patch is floating around to get it working, but upstream demanded some re-work and that stalled this work until this date.
It's cool but I doubt that I would want a propietary compiler on my system