skip to main content
10.1145/2000417.2000421acmotherconferencesArticle/Chapter ViewAbstractPublication PagesexadaptConference Proceedingsconference-collections
research-article

Efficiently exploring compiler optimization sequences with pairwise pruning

Published:05 June 2011Publication History

ABSTRACT

Most compilers apply optimizations in a fixed order regardless of input programs. However, it is well known that optimizations can have enabling, and disabling interactions or equivalent effects. The effects of interference are program specific and hence no single sequence is universally appropriate for all input programs. In this paper we explore the problem of searching for optimal sequences of compiler optimizations to apply for a given program and describe novel strategies that bring us a step closer to searching this problem space efficiently. We also construct models for accurately predicting the runtime performance of a program when a sequence of optimizations is applied to it. The early results of the models on a small set of input programs are encouraging and suggest that the approaches we describe are worthy of further consideration.

References

  1. http://users.ece.gatech.edu/mrichard/ExascaleComputingStudyReports/exascale_final_report_100208.pdf.Google ScholarGoogle Scholar
  2. Almagor, L., Cooper, K. D., Grosul, A., Harvey, T. J., Reeves, S. W., Subramanian, D., Torczon, L., and Waterman, T. Finding effective compilation sequences. In Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems (2004), LCTES '04, ACM, pp. 231--239. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Baer, R. M. Nonlinear regression and the solution of simultaneous equations. Comm. ACM 5 (1962), 397--398. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Cavazos, J., Fursin, G., Agakov, F., Bonilla, E., O'Boyle, M. F. P., and Temam, O. Rapidly selecting good compiler optimizations using performance counters. In Proceedings of the International Symposium on Code Generation and Optimization (Washington, DC, USA, 2007), CGO '07, IEEE Computer Society, pp. 185--197. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Charikar, Makarychev, and Makarychev. On the advantage over random for maximum acyclic subgraph. In FOCS: IEEE Symposium on Foundations of Computer Science (FOCS) (2007). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Cohen, D. M., Dalal, S. R., Fredman, M. L., and Patton, G. C. The aetg system: An approach to testing based on combinatorial design. IEEE Trans. Softw. Eng. 23 (July 1997), 437--444. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Cooper, K. D., Grosul, A., Harvey, T. J., Reeves, S., Subramanian, D., Torczon, L., and Waterman, T. Exploring the structure of the space of compilation sequences using randomized search algorithms. The Journal of Supercomputing 36, 2 (May 2006), 135--151. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Cooper, K. D., Schielke, P. J., and Subramanian, D. Optimizing for reduced code space using genetic algorithms, 1999.Google ScholarGoogle Scholar
  9. Cooper, K. D., Subramanian, D., and Torczon, L. Adaptive optimizing compilers for the 21st century. Journal of Supercomputing 23 (2001), 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Epshteyn, A., Garzaran, M., Dejong, G., Padua, D., Ren, G., Li, X., Yotov, K., and Pingali, K. Analytic models and empirical search: A hybrid approach to code optimization. In In Proceedings of the International Workshop on Languages and Compilers for Parallel Computing (LCPC (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Forsythe, G., Malcolm, M., and Moler, C. Computer methods for mathematical computations. Prentice Hall, Englewood Cliffs, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Grindal, M., Offutt, J., and Andler, S. F. Combination testing strategies: a survey. Softw. Test, Verif. Reliab 15, 3 (2005), 167--199.Google ScholarGoogle ScholarCross RefCross Ref
  13. Hassin, R., and Rubinstein, S. Approximations for the maximum acyclic subgraph problem. Information Processing Letters 51 (1997), 133--140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Hooke, R., and Jeeves, T. A. "Direct search" solution of numerical and statistical problems. Journal of the Association for Computing Machinery 8, 2 (1961), 212--229. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Hutter, M. Bayesian regression of piecewise constant functions, June 13 2006. Comment: 27 pages, 18 figures, 1 table, 3 algorithms.Google ScholarGoogle Scholar
  16. Kolda, Lewis, and Torczon. Optimization by direct search: New perspectives on some classical and modern methods. SIREV: SIAM Review 45 (2003).Google ScholarGoogle Scholar
  17. Kulkarni, P., Hines, S., Hiser, J., Whalley, D., Davidson, J., and Jones, D. Fast searches for effective optimization phase sequences. SIGPLAN Not. 39 (June 2004), 171--182. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Kulkarni, P. A., Whalley, D. B., Tyson, G. S., and Davidson, J. W. Exhaustive optimization phase order space exploration. In Proceedings of the International Symposium on Code Generation and Optimization (2006), CGO '06, pp. 306--318. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Lei, Y., and Tai, K.-C. In-parameter-order: A test generation strategy for pairwise testing. In The 3rd IEEE International Symposium on High-Assurance Systems Engineering (Washington, DC, USA, 1998), HASE '98, IEEE Computer Society, pp. 254--261. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Mandl, R. Orthogonal latin squares: an application of experiment design to compiler testing. Commun. ACM 28 (October 1985), 1054--1058. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Marcus, M. Matrices and MATLAB: a tutorial. The MATLAB curriculum series. Prentice-Hall, pub-PH:adr, 1992.Google ScholarGoogle Scholar
  22. Milojičić, D., Lazara, B., Stankovic, J., Preikschat, W. S., Iftode, L., Lea, R., and Rau, B. Trend wars: Embedded systems. IEEE Concurrency 8, 4 (Oct./Dec. 2000), 80--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Milojicic, D. S. Trend wars: Mobile agent applications. IEEE Concurrency 7, 3 (1999), 80--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Newman, A. Approximating the maximum acyclic subgraph. Master's thesis, Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2000.Google ScholarGoogle Scholar
  25. Olukotun, K., and Hammond, L. The future of microprocessors. Queue 3 (September 2005), 26--29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Pan, Z., and Eigenmann, R. Fast and effective orchestration of compiler optimizations for automatic performance tuning. In Proceedings of the International Symposium on Code Generation and Optimization (Washington, DC, USA, 2006), CGO '06, IEEE Computer Society, pp. 319--332. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Qasem, A., Kennedy, K., and Mellor-crummey, J. Automatic tuning of whole applications using direct search and a performance-based transformation system. In In Proceedings of the Los Alamos Computer Science Institute Second Annual Symposium (2004), pp. 183--196.Google ScholarGoogle Scholar
  28. Schlett, M. Trends in embedded-microprocessor design. Computer 31 (August 1998), 44--49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. SPEC. Benchmark suite release 1.0, 1989.Google ScholarGoogle Scholar
  30. Tatsumi, K. Test case design support system. In Proceedings of the International Conference on Quality Control (ICQC), 3 (1987), 615--620.Google ScholarGoogle Scholar
  31. Vuduc, R., Demmel, J. W., and Bilmes, J. Bilmes. statistical models for empirical search-based performance tuning. International Journal of High Performance Computing Applications 18 (2004), 65--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Zhao, M., Childers, B. R., and Soffa, M. L. A framework for exploring optimization properties. In Proceedings of the 18th International Conference on Compiler Construction, ETAPS 2009 (Berlin, Heidelberg, 2009), CC '09, Springer-Verlag, pp. 32--47. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Efficiently exploring compiler optimization sequences with pairwise pruning

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      EXADAPT '11: Proceedings of the 1st International Workshop on Adaptive Self-Tuning Computing Systems for the Exaflop Era
      June 2011
      73 pages
      ISBN:9781450307086
      DOI:10.1145/2000417

      Copyright © 2011 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 5 June 2011

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader