Combining Machine Learning with a Genetic Algorithm to Find Good Complier Optimizations Sequences

Nilton Luiz Queiroz Junior, Luis Gustavo Araujo Rodriguez, Anderson Faustino da Silva

2017

Abstract

Artificial Intelligence is a strategy applied in several problems in computer science. One of them is to find good compilers optimizations sequences for programs. Currently, strategies such as Genetic Algorithms and Machine Learning have been used to solve it. This article propose an approach that combines both, Machine Learning and Genetic Algorithms, to solve this problem. The obtained results indicate that the proposed approach achieves performance up to 3.472% over Genetic Algorithms and 4.94% over Machine Learning.

References

  1. Aho, A. V., S., L. M., Sethi, R., and Ullman, J. D. (2006). Compilers: Principles, Techniques and tools. Prentice Hall.
  2. Ansari, A. and Bakar, A. A. (2014). A comparative study of three artificial intelligence techniques: Genetic algorithm, neural network, and fuzzy logic, on scheduling problem. In 2014 4th International Conference on Artificial Intelligence with Applications in Engineering and Technology, pages 31-36.
  3. Chen, Y., Huang, Y., Eeckhout, L., Fursin, G., Peng, L., Temam, O., and Wu, C. (2010). Evaluating Iterative Optimization Across 1000 Datasets. SIGPLAN Notices, 45(6):448-459.
  4. Jantz, M. R. and Kulkarni, P. A. (2013a). Exploiting Phase Inter-dependencies for Faster Iterative Compiler Optimization Phase Order Searches. In International Conference on Compilers, Architecture and Synthesis for Embedded Systems, pages 1-10.
  5. Jantz, M. R. and Kulkarni, P. A. (2013b). Performance potential of optimization phase selection during dynamic jit compilation. SIGPLAN Notices, 48(7):131-142.
  6. Junior, N. L. Q. and da Silva, A. F. (2015). Finding Good Compiler Optimization Sets - A Case-based Reasoning Approach. In Proceedings of the International Conference on Enterprise Information Systems, pages 504-515.
  7. Lima, E. D., De Souza Xavier, T., Faustino da Silva, A., and Beatryz Ruiz, L. (2013). Compiling for Performance and Power Efficiency. In International Workshop on Power and Timing Modeling, Optimization and Simulation, pages 142-149.
  8. LLVM3.7 (2016). The LLVM Compiler Infrastructure Project. http://llvm.org.
  9. Malik, A. M. (2010). Spatial Based Feature Generation for Machine Learning Based Optimization Compilation. In Ninth International Conference on Machine Learning and Applications, pages 925-930.
  10. Martins, L. G. A., Nobre, R., Cardoso, J. M. P., Delbem, A. C. B., and Marques, E. (2016). Clustering-Based Selection for the Exploration of Compiler Optimization Sequences. ACM Transactions on Architecture and Code Optimization, 13(1):8:1-8:28.
  11. Namolaru, M., Cohen, A., Fursin, G., Zaks, A., and Freund, A. (2010). Practical Aggregation of Semantical Program Properties for Machine Learning Based Optimization. In Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems, pages 197-206. ACM.
  12. Park, E., Cavazos, J., and Alvarez, M. A. (2012). Using Graph-based Program Characterization for Predictive Modeling. In Proceedings of the International Symposium on Code Generation and Optimization, pages 196-206, New York, NY, USA. ACM.
  13. Park, E., Kulkarni, S., and Cavazos, J. (2011). An evaluation of different modeling techniques for iterative compilation. In 2011 Proceedings of the 14th International Conference on Compilers, Architectures and Synthesis for Embedded Systems (CASES), pages 65- 74.
  14. Purini, S. and Jain, L. (2013). Finding Good Optimization Sequences Covering Program Space. ACM Transactions on Architecture and Code Optimization, 9(4):1- 23.
  15. ScikitLearn (2016). Scikit-Learn: Machine Learning In Python. http://scikit-learn.org.
  16. Tambouratzis, G. (2016). Applying pso to natural language processing tasks: Optimizing the identification of syntactic phrases. In 2016 IEEE Congress on Evolutionary Computation (CEC), pages 1831-1838.
  17. Wu, Y. and Larus, J. R. (1994). Static Branch Frequency and Program Profile Analysis. In Proceedings of the Annual International Symposium on Microarchitecture, pages 1-11, New York, NY, USA. ACM.
  18. Zhou, Y.-Q. and Lin, N.-W. (2012). A Study on Optimizing Execution Time and Code Size in Iterative Compilation. In International Conference on Innovations in Bio-Inspired Computing and Applications, pages 104-109.
Download


Paper Citation


in Harvard Style

Queiroz Junior N., Rodriguez L. and da Silva A. (2017). Combining Machine Learning with a Genetic Algorithm to Find Good Complier Optimizations Sequences . In Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 1: ICEIS, ISBN 978-989-758-247-9, pages 397-404. DOI: 10.5220/0006270403970404


in Bibtex Style

@conference{iceis17,
author={Nilton Luiz Queiroz Junior and Luis Gustavo Araujo Rodriguez and Anderson Faustino da Silva},
title={Combining Machine Learning with a Genetic Algorithm to Find Good Complier Optimizations Sequences},
booktitle={Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 1: ICEIS,},
year={2017},
pages={397-404},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006270403970404},
isbn={978-989-758-247-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 1: ICEIS,
TI - Combining Machine Learning with a Genetic Algorithm to Find Good Complier Optimizations Sequences
SN - 978-989-758-247-9
AU - Queiroz Junior N.
AU - Rodriguez L.
AU - da Silva A.
PY - 2017
SP - 397
EP - 404
DO - 10.5220/0006270403970404