From Newsgroup: comp.compilers
Another project trying to improve optimization phase ordering
Abstract
The phase ordering problem has been a long-standing challenge since the
late 1970s, yet it remains an open problem due to having a vast
optimization space and an unbounded nature, making it an open-ended
problem without a finite solution, one can limit the scope by reducing the number and the length of optimizations. Traditionally, such locally
optimized decisions are made by hand-coded algorithms tuned for a small
number of benchmarks, often requiring significant effort to be retuned
when the benchmark suite changes. In the past 20 years, Machine Learning
has been employed to construct performance models to improve the selection
and ordering of compiler optimizations, however, the approaches are not
baked into the compiler seamlessly and never materialized to be leveraged
at a fine-grained scope of code segments. This paper presents Protean
Compiler: An agile framework to enable LLVM with built-in phase-ordering capabilities at a fine-grained scope. The framework also comprises a
complete library of more than 140 handcrafted static feature collection
methods at varying scopes, and the experimental results showcase speedup
gains of up to 4.1% on average and up to 15.7% on select Cbench
applications wrt LLVM's O3 by just incurring a few extra seconds of build
time on Cbench. Additionally, Protean compiler allows for an easy
integration with third-party ML frameworks and other Large Language
Models, and this two-step optimization shows a gain of 10.1% and 8.5%
speedup wrt O3 on Cbench's Susan and Jpeg applications. Protean compiler
is seamlessly integrated into LLVM and can be used as a new, enhanced, full-fledged compiler. We plan to release the project to the open-source community in the near future.
https://arxiv.org/abs/2602.06142
Regards,
John Levine,
johnl@taugh.com, Taughannock Networks, Trumansburg NY
Please consider the environment before reading this e-mail.
https://jl.ly
--- Synchronet 3.21b-Linux NewsLink 1.2