Exponentially Expanding the Compiler Phase-Ordering Problem's Search Space through the Learning of Dormant Information

21 Sept 2023 (modified: 25 Mar 2024)ICLR 2024 Conference Withdrawn SubmissionEveryoneRevisionsBibTeX
Keywords: Compiler, Reinforcement Learning
TL;DR: We propose a new pruning mechanism that significantly reduces the search space of the phase-ordering problem, while ensuring that optimal solutions are remained in the pruned space.
Abstract: Applying compilation transformations in optimal sequences can significantly improve program speed and reduce code size. However, finding these optimal sequences, a problem known as the phase-ordering problem, remains a longstanding challenge. Specifically, modern compilers offer hundreds of available transformations, making the search space too large to efficiently explore in a reasonable time frame. Existing solutions tackle this problem by grouping transformations into short sequences, based on prior knowledge from human experts, and then searching for optimal orders within these sequences. However, such pruning methods can be aggressive, potentially excluding optimal solutions from the search space. Additionally, they lack scalability for new transformations. In this paper, we propose a new, more conservative pruning approach that relies on Machine Learning to capture dormant information. This approach only excludes non-optimal solutions from the search space. It does not rely on any prior human knowledge, making it scalable to new transformations. To demonstrate the efficiency of this conservative pruning approach, we integrate it with a classical Reinforcement Learning model, previously used with aggressive pruning methods. Our solution, named FlexPO, is capable of exploring a search space that is exponentially larger than those considered in existing solutions. Experimental results demonstrate that FlexPO generates programs that are 12% faster or 17.6% smaller than the programs generated by modern compilers.
Primary Area: reinforcement learning
Code Of Ethics: I acknowledge that I and all co-authors of this work have read and commit to adhering to the ICLR Code of Ethics.
Submission Guidelines: I certify that this submission complies with the submission instructions as described on https://iclr.cc/Conferences/2024/AuthorGuide.
Anonymous Url: I certify that there is no URL (e.g., github page) that could be used to find authors' identity.
No Acknowledgement Section: I certify that there is no acknowledgement section in this submission for double blind review.
Submission Number: 3913
Loading