Abstract
Compiler developers typically design various optimization options to produce optimized programs. Generally, it is a challenging task to identify a reasonable set of optimization options (i.e., compiler optimization sequence) in modern compilers. Optimization objectives, in addition to the target architecture and source code of the program, influence the selection of optimization sequences. Current applications are often required to optimize two or more conflicting objectives simultaneously, such as execution time and code size. Existing approaches employ evolutionary algorithms to find appropriate optimization sequences to trade off the above two objectives. However, since program compilation and execution are time-consuming, and the two objectives are inherently conflicting, applying evolutionary algorithms faces the diverse objectives influence and computationally expensive problem. In this study, we present a surrogate-assisted multi-objective optimization approach. To speed up the convergence, it employs a fast global search based on non-dominated sorting. The approach then uses two surrogate models for each objective to generate approximate fitness evaluations rather than using actual expensive evaluations. Extensive experiments on the benchmark suite cBench show that our approach outperforms the baseline NSGA-II on hypervolume by an average of 11.7%. Furthermore, experiments verify that the surrogate model contributes to solving the computationally expensive problem and taking fewer actual fitness evaluations.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Agakov, F., et al.: Using machine learning to focus iterative optimization. In: Proceedings of the International Symposium on Code Generation and Optimization, pp. 295–305 (2006)
Ansel, J., et al.: OpenTuner: an extensible framework for program autotuning. In: Proceedings of the 23rd International Conference on Parallel Architectures and Compilation, pp. 303–316 (2014)
Ashouri, A.H., Bignoli, A., Palermo, G., Silvano, C., Kulkarni, S., Cavazos, J.: MICOMP: mitigating the compiler phase-ordering problem using optimization sub-sequences and machine learning. ACM Trans. Archit. Code Optim. 14(3), 29 (2017)
Ashouri, A.H., Killian, W., Cavazos, J., Palermo, G., Silvano, C.: A survey on compiler autotuning using machine learning. ACM Comput. Surv. 51(5), 1–42 (2018)
Ashouri, A.H., Mariani, G., Palermo, G., Park, E., Cavazos, J., Silvano, C.: COBAYN: compiler autotuning framework using Bayesian networks. ACM Trans. Archit. Code Optim. (TACO) 13(2), 1–25 (2016)
Breiman, L.: Random forests. Mach. Learn. 45(1), 5–32 (2001)
Cáceres, L.P., Bischl, B., Stützle, T.: Evaluating random forest models for irace. In: Proceedings of the Genetic and Evolutionary Computation Conference Companion, pp. 1146–1153 (2017)
Chebolu, N.A.B.S., Wankar, R.: Multi-objective exploration for compiler optimizations and parameters. In: Murty, M.N., He, X., Chillarige, R.R., Weng, P. (eds.) MIWAI 2014. LNCS (LNAI), vol. 8875, pp. 23–34. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-13365-2_3
Chen, J., Xu, N., Chen, P., Zhang, H.: Efficient compiler autotuning via Bayesian optimization. In: 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE), pp. 1198–1209. IEEE (2021)
Deb, K., Agrawal, R.B.: Simulated binary crossover for continuous search space. Complex Syst. 9(2), 115–148 (1995)
Fursin, G.: Collective benchmark (cBench), a collection of open-source programs with multiple datasets assembled by the community to enable realistic benchmarking and research on program and architecture optimization (2010). http://cTuning.org/cbench
Gu, Q., Wang, D., Jiang, S., Xiong, N., Jin, Y.: An improved assisted evolutionary algorithm for data-driven mixed integer optimization based on Two_Arch. Comput. Ind. Eng. 159, 107463 (2021)
Gu, Q., Wang, Q., Li, X., Li, X.: A surrogate-assisted multi-objective particle swarm optimization of expensive constrained combinatorial optimization problems. Knowl.-Based Syst. 223, 107049 (2021)
Hall, M., Padua, D., Pingali, K.: Compiler research: the next 50 years. Commun. ACM 52(2), 60–67 (2009)
Hong, W., Yang, P., Wang, Y., Tang, K.: Multi-objective magnitude-based pruning for latency-aware deep neural network compression. In: Bäck, T., et al. (eds.) PPSN 2020. LNCS, vol. 12269, pp. 470–483. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-58112-1_32
Lokuciejewski, P., Plazar, S., Falk, H., Marwedel, P., Thiele, L.: Multi-objective exploration of compiler optimizations for real-time systems. In: 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, pp. 115–122. IEEE (2010)
Lokuciejewski, P., Plazar, S., Falk, H., Marwedel, P., Thiele, L.: Approximating pareto optimal compiler optimization sequences-a trade-off between WCET, ACET and code size. Softw. Pract. Experience 41(12), 1437–1458 (2011)
Sun, C., Ding, J., Zeng, J., Jin, Y.: A fitness approximation assisted competitive swarm optimizer for large scale expensive optimization problems. Memetic Comput. 10(2), 123–134 (2018)
Sun, Y., Wang, H., Xue, B., Jin, Y., Yen, G.G., Zhang, M.: Surrogate-assisted evolutionary deep learning using an end-to-end random forest-based performance predictor. IEEE Trans. Evol. Comput. 24(2), 350–364 (2019)
Valdiviezo, H.C., Van Aelst, S.: Tree-based prediction on incomplete data using imputation or surrogate decisions. Inf. Sci. 311, 163–181 (2015)
Zhou, Y.Q., Lin, N.W.: A study on optimizing execution time and code size in iterative compilation. In: 2012 Third International Conference on Innovations in Bio-Inspired Computing and Applications, pp. 104–109. IEEE (2012)
Zitzler, E., Thiele, L.: Multiobjective optimization using evolutionary algorithms—a comparative case study. In: Eiben, A.E., Bäck, T., Schoenauer, M., Schwefel, H.-P. (eds.) PPSN 1998. LNCS, vol. 1498, pp. 292–301. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0056872
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Gao, G., Qiao, L., Liu, D., Chen, S., Jiang, H. (2022). Surrogate-Assisted Multi-objective Optimization for Compiler Optimization Sequence Selection. In: Rudolph, G., Kononova, A.V., Aguirre, H., Kerschke, P., Ochoa, G., Tušar, T. (eds) Parallel Problem Solving from Nature – PPSN XVII. PPSN 2022. Lecture Notes in Computer Science, vol 13399. Springer, Cham. https://doi.org/10.1007/978-3-031-14721-0_27
Download citation
DOI: https://doi.org/10.1007/978-3-031-14721-0_27
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-14720-3
Online ISBN: 978-3-031-14721-0
eBook Packages: Computer ScienceComputer Science (R0)