Skip to main content

A Machine Learning Approach to Automatic Production of Compiler Heuristics

  • Conference paper
  • First Online:
Book cover Artificial Intelligence: Methodology, Systems, and Applications (AIMSA 2002)

Abstract

Achieving high performance on modern processors heavily relies on the compiler optimizations to exploit the microprocessor architecture. The efficiency of optimization directly depends on the compiler heuristics. These heuristics must be target-specific and each new processor generation requires heuristics reengineering.

In this paper, we address the automatic generation of optimization heuristics for a target processor by machine learning. We evaluate the potential of this method on an always legal and simple transformation: loop unrolling. Though simple to implement, this transformation may have strong effects on program execution (good or bad). However deciding to perform the transformation or not is difficult since many interacting parameters must be taken into account. So we propose a machine learning approach.

We try to answer the following questions: is it possible to devise a learning process that captures the relevant parameters involved in loop unrolling performance? Does the Machine Learning Based Heuristics achieve better performance than existing ones?

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. David Bailey. Nas kernel benchmark program, June 1988. http://www.netlib.org/benchmark/nas.

  2. F. Bodin, Y. Mével, and R. Quiniou. A User Level Program Transformation Tool. In Proceedings of the International Conference on Supercomputing, pages 180–187, July 1998, Melbourne, Australia.

    Google Scholar 

  3. Jack W. Davidson and Sanjay Jinturkar. Aggressive Loop Unrolling in a Retargetable, Optimizing Compiler. In Compiler Construction, volume 1060 of Lecture Notes in Computer Science, pages 59–73. Springer, April 1996.

    Google Scholar 

  4. J. J. Dongarra and A. R. Hinds. Unrolling loops in FORTRAN. Software Practice and Experience, 9(3):219–226, March 1979.

    Article  MATH  Google Scholar 

  5. A. Koseki, H. Komastu, and Y. Fukazawa. A Method for Estimating Optimal Unrolling Times for Nested Loops. In Proceedings of the International Symposium on Parallel Architectures, Algorithms and Networks, 1997.

    Google Scholar 

  6. A. Monsifrot and F. Bodin. Computer Aided Hand Tuning (CAHT): “Applying Case-Based Reasoning to Performance Tuning”. In Proceedings of the 15th ACM International Conference on Supercomputing (ICS-01), pages 196–203. ACM Press, June 17–21 2001, Sorrento, Italy.

    Google Scholar 

  7. Sreerama K. Murthy, Simon Kasif, and Steven Salzberg. A System for Induction of Oblique Decision Trees. Journal of Artificial Intelligence Research, 2:1–32, 1994.

    Article  MATH  Google Scholar 

  8. Vivek Sarkar. Optimized Unrolling of Nested Loops. In Proceedings of the 14th ACM International Conference on Supercomputing (ICS-00), pages 153–166. ACM Press, May 2000.

    Google Scholar 

  9. C. Yu and D.B. Skillicorn. Parallelizing Boosting and Bagging. Technical report, Queen’s University, Kingston, Ontario, Canada K7L 3N6, February 2001.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Monsifrot, A., Bodin, F., Quiniou, R. (2002). A Machine Learning Approach to Automatic Production of Compiler Heuristics. In: Scott, D. (eds) Artificial Intelligence: Methodology, Systems, and Applications. AIMSA 2002. Lecture Notes in Computer Science(), vol 2443. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46148-5_5

Download citation

  • DOI: https://doi.org/10.1007/3-540-46148-5_5

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-44127-4

  • Online ISBN: 978-3-540-46148-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics