intel / intel-graphics-compiler

Other
594 stars 155 forks source link

Evaluate using Profile-Guided Optimization (PGO) and LLVM BOLT #305

Open zamazan4ik opened 10 months ago

zamazan4ik commented 10 months ago

Hi!

Recently I checked Profile-Guided Optimization (PGO) improvements on multiple projects. The results are here. E.g. PGO results for LLVM-related tooling are here. According to the tests, PGO usually helps with the compiler and compiler-like workloads (like static analysis) - e.g. Clang gets +20% compilation speed with PGO. That's why I think trying to optimize the Intel Graphics Compiler (IGC) with PGO can be a good idea.

I can suggest the following action points:

Testing Post-Link Optimization techniques (like LLVM BOLT) would be interesting too (Clang and Rustc already use BOLT as an addition to PGO) but I recommend starting from the usual PGO.

Here are some examples of how PGO optimization is integrated in other projects: