Abstract
The increasing complexity of modern architectures and memory models challenges the design of optimizing compilers. It is mandatory to perform several optimizing transformations of the original program to exploit the machine to its best, especially for scientific, computational intensive codes. Aiming at investigating the best transformation sequence and the best transformation parameters simultaneously, this paper combines polyhedral model and empirical search to create a powerful optimization framework that is capable of fully automated non-parametric transformations and automatic parameter search. The framework employs polyhedral model to facilitate the search of non-parametric code transformation composition, and designs uses Genetic Algorithms to find the optimal parameters. The framework is demonstrated on three typical computational kernels for code transformations to achieve performance that greatly exceeds the native compiler, and is significantly better than state-of-the-art polyhedral model based loop transformations and iterative compilation, generating efficient code on complex loop nests.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Fursin, G.: Iterative Compilation and Performance Prediction for Numerical Applications. Ph.D. Thesis, School of Informatics, The University of Edinburgh, pp. 67–82 (2005)
Ananta, T., Chun, C., et al.: Scalable Autotuning Framework for Compiler Optimization. In: Proceedings of the IEEE IPDPS 2009, pp. 1–12 (2009)
Feautrier, P.: LCPC, Keynote Speech II: The Polytope Model Past, Present, Future. In: Proceedings of the 22nd International Workshop on Languages and Compilers for Parallel Computing, pp. 4–5 (2009)
Sid, T., Denis, B.: On the Decidability of Phase Ordering Problem in Optimizing Compilation. In: Proceedings of the International Conference on Computing Frontiers, pp. 147–156 (2006)
Louis, P., Cedric, B., Albert, C., Nicolas, V.: Iterative optimization in the polyhedral model: Part I, one-dimensional time. In: Proceedings of ACM Conf. on Code Generation and Optimization, pp. 144–156 (2007)
Louis, P., Cedric, B., Albert, C., Nicolas, V.: Iterative optimization in the polyhedral model: Part II, multidimensional time. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 90–100 (2008)
Sylvain, G., Nicolas, V., Cedric, B., Albert, C., David, P., March, S., Olivier, T.: Semi-automatic composition of loop transformations for deep parallelism and memory hierarchies. Int. J. of Parallel Programming. 34, 261–317 (2006)
Jaume, A., Antonio, G., Josep, L., et al.: Near-Optimal Loop Tiling by means of Cache Miss Equations and Genetic Algorithms. In: Proceedings of Workshop on Compile/Runtime Techniques for Parallel Computing, pp. 568–580 (2002)
Chun, C., Jacqueline, C., Mary, H.: CHiLL: A Framework for Composing High-Level Loop Transformations. Technical report, University of Southern California (2008)
Kelly, W., Pugh, W.: A framework for unifying reordering transformations. Tech report, College Park, MD, USA, CS-TR-2995, pp. 1–23 (1993)
Bondhugula, U., Hartono, A., Ramanujam, J., Sadayappan, P.: A practical automatic polyhedral program optimization system. In: Proceedings of the 2008 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 101–113 (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lu, P. et al. (2013). An Effective Framework of Program Optimization for High Performance Computing. In: Xu, W., Xiao, L., Zhang, C., Li, J., Yu, L. (eds) Computer Engineering and Technology. NCCET 2013. Communications in Computer and Information Science, vol 396. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41635-4_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-41635-4_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-41634-7
Online ISBN: 978-3-642-41635-4
eBook Packages: Computer ScienceComputer Science (R0)