MCompiler: A Synergistic Compilation Framework
Aniket Shivam, Alexandru Nicolau, Alexander V. Veidenbaum

TL;DR
MCompiler is a novel framework that combines different compilation strategies and machine learning to optimize program performance, reducing profiling needs and improving efficiency across various applications.
Contribution
It introduces a meta-compilation framework that synergistically combines multiple compilers and optimizers, utilizing machine learning for efficient code segment optimization.
Findings
Improves application performance by up to 2.62x over state-of-the-art compilers.
Machine learning predictions closely match profiling-based optimization, within 4-8%.
Enhances parallel application performance with up to 1.74x improvement.
Abstract
This paper presents a meta-compilation framework, the MCompiler. The main idea is that different segments of a program can be compiled with different compilers/optimizers and combined into a single executable. The MCompiler can be used in a number of ways. It can generate an executable with higher performance than any individual compiler, because each compiler uses a specific, ordered set of optimization techniques and different profitability models and can, therefore, generate code significantly different from other compilers. Alternatively, the MCompiler can be used by researchers and compiler developers to evaluate their compiler implementation and compare it to results from other available compilers/optimizers. A code segment in this work is a loop nest, but other choices are possible. This work also investigates the use of Machine Learning to learn inherent characteristics of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Embedded Systems Design Techniques
