Learning to Rank for Multi-objective Compilation Optimization
摘要
Selection of the right optimization configuration is a critical problem for compiler auto-tuning. Most existing research focused on single objective compilation optimization, e.g., minimizing the execution time of compiled programs, while ignoring other important objectives such as the reduction of energy consumption. Several multi-objectives evolutionary algorithm-based methods have been proposed to search the Pareto front for multi-objective compilation optimization. However, these methods ignore the knowledge across different programs and require hundreds of evaluations for each new program. To solve these problems, we propose a machine learning based multi-objective compilation optimization method to efficiently predict Pareto front configurations for each new program without expensive evaluations. Instead of directly learning the optimization effects of candidate configurations which have different value ranges for different objectives, we propose to learn the relative orders of candidate configurations. Specifically, we propose a multi-view learning to rank method to simultaneously learn different latent representations of candidate configurations for different objectives. Extensive experiments on the cTuning cBench benchmark demonstrate the promise of the proposed method on both multi-objective and single objective optimization tasks.