Abstract
We seek to extend the scope and efficiency of iterative compilation techniques by searching not only for program transformation parameters but for the most appropriate transformations themselves. For that purpose, we need a generic way to express program transformations and compositions of transformations. In this article, we introduce a framework for the polyhedral representation of a wide range of transformations in a unified way. We also show that it is possible to generate efficient code after the application of polyhedral program transformations. Finally, we demonstrate an implementation of the polyhedral representation and code generation techniques in the Open64/ORC compiler.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Ancourt, C., Irigoin, F.: Scanning polyhedra with DO loops. In: 3rd ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming, June 1991, pp. 39–50 (1991)
Bastoul, C., Cohen, A., Girbal, S., Sharma, S., Temam, O.: Putting polyhedral loop transformations to work. Research report 4902, INRIA Rocquencourt, France (July 2003)
Bastoul, C., Feautrier, P.: Improving data locality by chunking. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 320–335. Springer, Heidelberg (2003)
Blume, W., Eigenmann, R., Faigin, K., Grout, J., Hoeflinger, J., Padua, D., Petersen, P., Pottenger, W., Rauchwerger, L., Tu, P., Weatherford, S.: Parallel programming with Polaris. IEEE Computer 29(12), 78–82 (1996)
Boulet, P., Darte, A., Silber, G.-A., Vivien, F.: Loop parallelization algorithms: From parallelism extraction to code generation. Parallel Computing 24(3), 421–444 (1998)
Cooper, K.D., Hall, M.W., Hood, R.T., Kennedy, K., McKinley, K.S., Mellor-Crummey, J.M., Torczon, L., Warren, S.K.: The ParaScope parallel programming environment. Proceedings of the IEEE 81(2), 244–263 (1993)
Eigenmann, R., Hoeflinger, J., Padua, D.: On the automatic parallelization of the perfect benchmarks. IEEE Trans. on Parallel and Distributed Systems 9(1), 5–23 (1998)
Feautrier, P.: Some efficient solution to the affine scheduling problem, part II, multidimensional time. Int. Journal of Parallel Programming 21(6), 389–420 (1992); See also Part I, One Dimensional Time, 21(5), pp. 315–348
Griebl, M., Lengauer, C., Wetzel, S.: Code generation in the polytope model. In: PACT 1998 Intl. Conference on Parallel Architectures and Compilation Techniques, pp. 106–111 (1998)
Guillou, A.-C., Quilleré, F., Quinton, P., Rajopadhye, S., Risset, T.: Hardware design methodology with the alpha language. In: FDL 2001, Lyon, France (September 2001)
Hall, M., et al.: Maximizing multiprocessor performance with the SUIF compiler. IEEE Computer 29(12), 84–89 (1996)
Irigoin, F., Jouvelot, P., Triolet, R.: Semantical interprocedural parallelization: An overview of the pips project. In: ACM Int. Conf. on Supercomputing (ICS’2), Cologne, Germany (June 1991)
Kelly, W.: Optimization within a unified transformation framework. Technical Report CS-TR-3725, University of Maryland (1996)
Kelly, W., Pugh, W., Rosser, E.: Code generation for multiple mappings. In: Frontiers 1995 Symp. on the frontiers of massively parallel computation, McLean (1995)
Li, W., Pingali, K.: A singular loop transformation framework based on nonsingular matrices. Intl. J. of Parallel Programming 22(2), 183–205 (1994)
O’Boyle, M.: MARS: a distributed memory approach to shared memory compilation. In: Proc. Language, Compilers and Runtime Systems for Scalable Computing, Pittsburgh, May 1998. Springer, Heidelberg (1998)
O’Boyle, M., Knijnenburg, P., Fursin, G.: Feedback assisted iterative compiplation. In: Parallel Architectures and Compilation Techniques (PACT 2001), October 2001. IEEE Computer Society Press, Los Alamitos (2001)
Open research compiler, http://ipf-orc.sourceforge.net
Quilleré, F., Rajopadhye, S., Wilde, D.: Generation of efficient nested loops from polyhedra. Intl. J. of Parallel Programming 28(5), 469–498 (2000)
Schreiber, R., Aditya, S., Rau, B., Kathail, V., Mahlke, S., Abraham, S., Snider, G.: High-level synthesis of nonprogrammable hardware accelerators. Technical report, Hewlett-Packard (May 2000)
Xue, J.: Automating non-unimodular loop transformations for massive parallelism. Parallel Computing 20(5), 711–728 (1994)
Yotov, K., Li, X., Ren, G., Cibulskis, M., De Jong, G., Garzaran, M., Padua, D., Pingali, K., Stodghill, P., Wu, P.: A comparison of empirical and model-driven optimization. In: ACM Symp. on Programming Language Design and Implementation (PLDI 2003), San Diego, California (June 2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bastoul, C., Cohen, A., Girbal, S., Sharma, S., Temam, O. (2004). Putting Polyhedral Loop Transformations to Work. In: Rauchwerger, L. (eds) Languages and Compilers for Parallel Computing. LCPC 2003. Lecture Notes in Computer Science, vol 2958. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24644-2_14
Download citation
DOI: https://doi.org/10.1007/978-3-540-24644-2_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21199-0
Online ISBN: 978-3-540-24644-2
eBook Packages: Springer Book Archive