ISIbrahim Saidoun

Ibrahim Saidoun

*This is an algorithmically generated author record based on publicly available information.

Ibrahim Saidoun has a total of 8 co-authors. Here are the top co-authors by number of shared publications:


Latest Publications

  • Open Access

    Protean Compiler: An Agile Framework to Drive Fine-grain Phase Ordering

    by Amir H. Ashouri, Shayan Shirahmad Gale Bagi, Kavin Satheeskumar, Tejas Srikanth, Jonathan Zhao, Ibrahim Saidoun, Ziwen Wang, Bryan Chan, Tomasz S. Czajkowski

    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 have never been leveraged at a fine-grained scope of code segments. This article presents Protean Compiler — an agile framework to augment 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 relative to LLVM’s -O3 , by just incurring a few extra seconds of build time on CBench. Additionally, Protean compiler can speed up SPEC CPU 2017 (Integer suite) by an average of 1% and up to 6.4% on selected benchmarks. Our framework supports parallel compilation and a built-in recommender system to speed up the search and reduce build-time overhead. Protean compiler allows for easy integration with third-party ML frameworks and other Large Language Models, and two applications of this two-step optimization show a gain of 10.1% and 8.5% speedup w.r.t. -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 1 .