Liu Hui, Xu Jinlong, Zhao Rongcai, Yao Jinyang. Compiler Optimization Sequence Selection Method Based on Learning Model[J]. Journal of Computer Research and Development, 2019, 56(9): 2012-2026. DOI: 10.7544/issn1000-1239.2019.20180789
Citation:
Liu Hui, Xu Jinlong, Zhao Rongcai, Yao Jinyang. Compiler Optimization Sequence Selection Method Based on Learning Model[J]. Journal of Computer Research and Development, 2019, 56(9): 2012-2026. DOI: 10.7544/issn1000-1239.2019.20180789
Liu Hui, Xu Jinlong, Zhao Rongcai, Yao Jinyang. Compiler Optimization Sequence Selection Method Based on Learning Model[J]. Journal of Computer Research and Development, 2019, 56(9): 2012-2026. DOI: 10.7544/issn1000-1239.2019.20180789
Citation:
Liu Hui, Xu Jinlong, Zhao Rongcai, Yao Jinyang. Compiler Optimization Sequence Selection Method Based on Learning Model[J]. Journal of Computer Research and Development, 2019, 56(9): 2012-2026. DOI: 10.7544/issn1000-1239.2019.20180789
1(College of Computer and Information Engineering, Henan Normal University, Xinxiang, Henan 453007)
2(State Key Laboratory of Mathematical Engineering and Advanced Computing(Strategic Support Force Information Engineering University), Zhengzhou 450002)
3(Engineering Technology Research Center for Computing Intelligence&Data Mining in Henan Province (Henan Normal University), Xinxiang, Henan 453007)
Funds: This work was supported by the National Key Research and Development Program of China (2016YFB0200503), the Youth Science Fund Project of Henan Normal University (2015QK21), and the Key Scientific Research Project of Henan Province Colleges (20A520018).
For new applications and target platforms, it is often necessary to use the compiler for optimization sequence selection to improve the performance of target code. Iterative compilation enables the optimization sequence selection process automatically, with as many different versions of the program as possible within the allowable time and space range. However, iterative compilation method is a mechanical search that lacks the utilization of previous experience and requires large execution overheads. Therefore, an optimized compilation method is needed to automatically predict the performance of the transformed program without actually running. This paper presents Features ANN to select the optimization sequence of compiler. Features ANN is based on the supervised learning model. Firstly, the program feature is extracted by the program feature representation technique through a combination of dynamic and static feature. Then, the compiler optimization space is searched based on the program features, and it finds the best optimization of the current version of the program. Finally, training samples are formed by program features and optimal optimization, and an artificial neural network (ANN) is used to construct a learning model to predict the optimal optimization sequence of the new program. Experimental results show that, Features ANN can get the best performance compared with the existing iterative compilation and non-iterative compilation methods.