ABSTRACT
Performance tuning is an important and time consuming task which may have to be repeated for each new application and platform. Although iterative optimisation can automate this process, it still requires many executions of different versions of the program. As execution time is frequently the limiting factor in the number of versions or transformed programs that can be considered, what is needed is a mechanism that can automatically predict the performance of a modified program without actually having to run it. This paper presents a new machine learning based technique to automatically predict the speedup of a modified program using a performance model based on the code features of the tuned programs. Unlike previous approaches it does not require any prior learning over a benchmark suite. Furthermore, it can be used to predict the performance of any tuning and is not restricted to a prior seen trans-formation space. We show that it can deliver predictions with a high correlation coefficient and can be used to dramatically reduce the cost of search.
- AGAKOV, F., BONILLA, E., CAVAZOS, J., FRANKE, B., FURSIN, G., O'BOYLE, M. F. P., THOMSON, J., TOUSSAINT, M., AND WILLIAMS, C. K. I. Using machine learning to focus iterative optimization. In CGO '06: Proceedings of the International Symposium on Code Generation and Optimization (Washington, DC, USA, March 2006), IEEE Computer Society, pp. 295--305. Google ScholarDigital Library
- 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 LCTES '04: Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems (New York, NY, USA, 2004), ACM Press, pp. 231--239. Google ScholarDigital Library
- BISHOP, C. Neural Networks for Pattern Recognition. Oxford University Press, 2005.Google ScholarDigital Library
- CAVAZOS, J., DUBACH, C., AGAKOV, F., BONILLA, E., O'BOYLE, M. F. P., FURSIN, G., AND TEMAM, O. Automatic performance model construction for the fast software exploration of new hardware designs. In CASES '06: Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems (New York, NY, USA, October 2006), ACM Press, pp. 24--34. Google ScholarDigital Library
- CAVAZOS, J., ELIOT, J., AND MOSS, B. Inducing heuristics to decide whether to schedule. In PLDI '04: Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation (New York, NY, USA, 2004), ACM Press, pp. 183--194. Google ScholarDigital Library
- COOPER, K., GROSUL, A., HARVEY, T., REEVES, S., SUBRAMANIAN, D., TORCZON, L., AND WATERMAN, T. Searching for compilation sequences. Tech. rep., Rice University, 2005.Google Scholar
- COOPER, K. D., GROSUL, A., HARVEY, T. J., REEVES, S., SUBRAMANIAN, D., TORCZON, L., AND WATERMAN, T. Acme: adaptive compilation made efficient. In LCTES '05: Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems (New York, NY, USA, 2005), ACM Press, pp. 69--77. Google ScholarDigital Library
- EECKHOUT, L., JR., R. H. B., STOUGIE, B., BOSSCHERE, K. D., AND JOHN, L. K. Control flow modeling in statistical simulation for accurate and efficient processor design studies. SIGARCH Comput. Archit. News 32, 2 (2004), 350. Google ScholarDigital Library
- FRANKE, B., O'BOYLE, M., THOMSON, J., AND FURSIN, G. Probabilistic source-level optimisation of embedded programs. In LCTES '05: Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems (New York, NY, USA, 2005), ACM Press, pp. 78--86. Google ScholarDigital Library
- FURSIN, G., COHEN, A., O'BOYLE, M., AND TEMAM, O. A practical method for quickly evaluating program optimizations. In Proceedings of the 1st International Conference on High Performance Embedded Architectures & Compilers (HiPEAC) (2005), pp. 29--46. Google ScholarDigital Library
- FURSIN, G., O'BOYLE, M., AND KNIJNENBURG, P. Evaluating iterative compilation. In Proceedings of the 15th Workshop on Languages and Compilers for Parallel Computers (LCPC) (2002), pp. 305--315. Google ScholarDigital Library
- HALL, M. W., ANDERSON, J. M., AMARASINGHE, S. P., MURPHY, B. R., LIAO, S.-W., BUGNION, E., AND LAM, M. S. Maximizing multiprocessor performance with the suif compiler. Computer 29, 12 (1996), 84--89. Google ScholarDigital Library
- IPEK, E., MCKEE, S. A., CARUANA, R., DE SUPINSKI, B. R., AND SCHULZ, M. Efficiently exploring architectural design spaces via predictive modeling. Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-XII) 34, 5 (October 2006), 195--206. Google ScholarDigital Library
- KARKHANIS, T. S., AND SMITH, J. E. A first-order superscalar processor model. In Proceedings of the 1st Annual International Symposium on Computer Architecture (ISCA'04) (2004), p. 338. Google ScholarDigital Library
- KARURI, K., FARUQUE, M. A. A., KRAEMER, S., LEUPERS, R., ASCHEID, G., AND MEYR, H. Fine-grained application source code profiling for asip design. In DAC '05: Proceedings of the 42nd annual conference on Design automation (New York, NY, USA, 2005), ACM Press, pp. 329--334. Google ScholarDigital Library
- KULKARNI, P., ZHAO, W., MOON, H., CHO, K., WHALLEY, D., DAVIDSON, J., BAILEY, M., PAEK, Y., AND GALLIVAN, K. Finding effective optimization phase sequences. In Proceedings of the Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES) (2003), pp. 12--23. Google ScholarDigital Library
- LEE, C. Utdsp benchmark suite. In http://www.eecg.toronto.edu/~corinna/DSP/infrastructure/UTDSP.html (1998).Google Scholar
- MONSIFROT, A., BODIN, F., AND QUINIOU, R. A machine learning approach to automatic production of compiler heuristics. In AIMSA '02: Proceedings of the 10th International Conference on Artificial Intelligence: Methodology, Systems, and Applications (London, UK, 2002), Springer-Verlag, pp. 41--50. Google ScholarDigital Library
- PAN, Z., AND EIGENMANN, R. Fast, automatic, procedure-level performance tuning. In PACT '06: Proceedings of the 15th international conference on Parallel architectures and compilation techniques (New York, NY, USA, 2006), ACM Press, pp. 173--181. Google ScholarDigital Library
- SAGHIR, M., CHOW, P., AND LEE, C. A comparison of traditional and vliw dsp architecture for compiled dsp applications. In Proceedings of the International Workshop on Compiler and Architecture Support for Embedded Systems (CASES) (1998).Google Scholar
- STEPHENSON, M., AND AMARASINGHE, S. Predicting unroll factors using supervised classification. In CGO '05: Proceedings of the international symposium on Code generation and optimization (Washington, DC, USA, 2005), IEEE Computer Society, pp. 123--134. Google ScholarDigital Library
- TRIANTAFYLLIS, S., VACHHARAJANI, M., VACHHARAJANI, N., AND AUGUST, D. I. Compiler optimization-space exploration. In CGO '03: Proceedings of the international symposium on Code generation and optimization (Washington, DC, USA, 2003), IEEE Computer Society, pp. 204--215. Google ScholarDigital Library
- WENISCH, T. F., WUNDERLICH, R. E., FALSAFI, B., AND HOE, J. C. Turbosmarts: accurate microarchitecture simulation sampling in minutes. SIGMETRICS Perform. Eval. Rev. 33, 1 (2005), 408--409. Google ScholarDigital Library
- WUNDERLICH, R. E., WENISCH, T. F., FALSAFI, B., AND HOE, J. C. Smarts: accelerating microarchitecture simulation via rigorous statistical sampling. In ISCA '03: Proceedings of the 30th annual international symposium on Computer architecture (New York, NY, USA, 2003), ACM Press, pp. 84--97. Google ScholarDigital Library
Index Terms
- Fast compiler optimisation evaluation using code-feature based performance prediction
Recommendations
PEAK—a fast and effective performance tuning system via compiler optimization orchestration
Compile-time optimizations generally improve program performance. Nevertheless, degradations caused by individual compiler optimization techniques are to be expected. Feedback-directed optimization orchestration systems generate optimized code versions ...
A compiler approach to performance prediction using empirical-based modeling
ICCS'03: Proceedings of the 2003 international conference on Computational science: PartIIIPerformance understanding and prediction are extremely important goals for guiding the application of program optimizations or in helping programmers focus their efforts when tuning their applications. In this paper we survey current approaches in ...
From monolithic to component-based performance evaluation of software architectures
Model-based performance evaluation methods for software architectures can help architects to assess design alternatives and save costs for late life-cycle performance fixes. A recent trend is component-based performance modelling, which aims at creating ...
Comments