Skip to main content

A Systematic Approach to Model-Guided Empirical Search for Memory Hierarchy Optimization

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4339))

Abstract

The goal of this work is a systematic approach to compiler optimization for simultaneously optimizing across multiple levels of the memory hierarchy. Our approach combines compiler models and heuristics with guided empirical search to take advantage of their complementary strengths. The models and heuristics limit the search to a small number of candidate implementations, and the empirical results provide accurate feedback information to the compiler. In previous work, we propose a compiler algorithm for deriving a set of parameterized solutions, followed by a model-guided empirical search to determine the best integer parameter values and select the best overall solution. This paper focuses on formalizing the process of deriving parameter values, which is a multi-variable optimization problem, and considers the role of AI search techniques in deriving a systematic framework for the search.

This work has been supported by NSF grants ACI-0204040 and CSR-0509517.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Chen, C., Chame, J., Hall, M.W.: Combining models and guided empirical search to optimize for multiple levels of the memory hierarchy. In: Proc. of the International Symposium on Code Generation and Optimization (March 2005)

    Google Scholar 

  2. Cooper, K.D., Schielke, P.J., Subramanian, D.: Optimizing for reduced code space using genetic algorithms. In: Proc. of the Workshop on Languages, Compilers, and Tools for Embedded Systems (May 1999)

    Google Scholar 

  3. Frigo, M.: A fast Fourier transform compiler. In: Proc. of the Conference on Programming Language Design and Implementation (May 1999)

    Google Scholar 

  4. Nilsson, N.J.: Artificial Intelligence: A New Synthesis. Morgan Kaufman, San Francisco (1998)

    MATH  Google Scholar 

  5. Stephenson, M., Amarasinghe, S., Rinard, M., O’Reilly, U.: Meta optimization: Improving compiler heuristics with machine learning. In: Proc. of the Conference on Programming Language Design and Implementation (June 2003)

    Google Scholar 

  6. Vera, X., Abella, J., González, A., Llosa, J.: Optimizing program locality through CMEs and GAs. In: Proc. of the International Conference on Parallel Architectures and Compilation Techniques (September 2003)

    Google Scholar 

  7. Whaley, R.C., Petitet, A., Dongarra, J.J.: Automated empirical optimization of software and the ATLAS project. Parallel Computing 27(1-2), 3–35 (2001)

    Article  MATH  Google Scholar 

  8. Yotov, K., Li, X., Ren, G., Garzaran, M., Padua, D., Pingali, K., Stodghill, P.: Is search really necessary to generate high-performance BLAS? Proceedings of the IEEE 93(2), 358–386 (2005)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chen, C., Chame, J., Hall, M., Lerman, K. (2006). A Systematic Approach to Model-Guided Empirical Search for Memory Hierarchy Optimization. In: Ayguadé, E., Baumgartner, G., Ramanujam, J., Sadayappan, P. (eds) Languages and Compilers for Parallel Computing. LCPC 2005. Lecture Notes in Computer Science, vol 4339. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69330-7_30

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-69330-7_30

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69329-1

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics