Abstract
Program transformations are one of the most valuable compiler techniques to improve data locality. However, restructuring compilers have a hard time coping with data dependences. A typical solution is to focus on program parts where the dependences are simple enough to enable any transformation. For more complex problems is only addressed the question of checking whether a transformation is legal or not. In this paper we propose to go further. Starting from a transformation with no guarantee on legality, we show how we can correct it for dependence satisfaction with no consequence on its locality properties. Generating code having the best locality is a direct application of this result.
Chapter PDF
Similar content being viewed by others
References
Ahmed, N., Mateev, N., Pingali, K.: Tiling imperfectly-nested loop nests. In: SC 2000 High Performance Networking and Computing, Dallas (November 2000)
Banerjee, U.: Unimodular transformations of double loops. In: Advances in Languages and Compilers for Parallel Processing, Irvine, August 1990, pp. 192–219 (1990)
Bastoul, C.: Efficient code generation for automatic parallelization and optimization. In: ISPDC 2003 IEEE International Symposium on Parallel and Distributed Computing, Ljubljana, October 2003, pp. 23–30 (2003)
Bastoul, C., Cohen, A., Girbal, S., Sharma, S., Temam, O.: Putting polyhedral transformations to work. In: Rauchwerger, L. (ed.) LCPC 2003. LNCS, vol. 2958, pp. 209–225. Springer, Heidelberg (2004)
Bastoul, C., Feautrier, P.: Improving data locality by chunking. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 320–335. Springer, Heidelberg (2003)
Feautrier, P.: Parametric integer programming. RAIRO Recherche Opérationnelle 22(3), 243–268 (1988)
Feautrier, P.: Some efficient solutions to the affine scheduling problem: one dimensional time. International Journal of Parallel Programming 21(5), 313–348 (1992)
Griebl, M., Faber, P., Lengauer, C.: Space-time mapping and tiling – a helpful combination. Concurrency and Computation: Practice and Experience 16(3), 221–246 (2004)
Griebl, M., Lengauer, C., Wetzel, S.: Code generation in the polytope model. In: PACT 1998 International Conference on Parallel Architectures and Compilation Techniques, pp. 106–111 (1998)
Kodukula, I., Ahmed, N., Pingali, K.: Data-centric multi-level blocking. In: ACM SIGPLAN 1997 Conference on Programming Language Design and Implementation, Las Vegas, June 1997, pp. 346–357 (1997)
Kuck, D.: The Structure of Computers and Computations. John Wiley & Sons, Inc., Chichester (1978)
Lengauer, C.: Loop parallelization in the polytope model. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 398–416. Springer, Heidelberg (1993)
Li, W., Pingali, K.: A singular loop transformation framework based on nonsingular matrices. International Journal of Parallel Programming 22(2), 183–205 (1994)
McKinley, K., Carr, S., Tseng, C.: Improving data locality with loop transformations. ACM Transactions on Programming Languages and Systems 18(4), 424–453 (1996)
Schrijver, A.: Theory of linear and integer programming. John Wiley & Sons, Chichester (1986)
Wolf, M., Lam, M.: A data locality optimizing algorithm. In: ACM SIGPLAN 1991 Conference on Programming Language Design and Implementation, New York, June 1991, pp. 30–44 (1991)
Wolfe, M.: Iteration space tiling for memory hierarchies. In: 3rd SIAM Conference on Parallel Processing for Scientific Computing, December 1987, pp. 357–361 (1987)
Wolfe, M.: High performance compilers for parallel computing. Addison-Wesley Publishing Company, Reading (1995)
Xue, J.: On tiling as a loop transformation. Parallel Processing Letters 7(4), 409–424 (1997)
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., Feautrier, P. (2004). More Legal Transformations for Locality. In: Danelutto, M., Vanneschi, M., Laforenza, D. (eds) Euro-Par 2004 Parallel Processing. Euro-Par 2004. Lecture Notes in Computer Science, vol 3149. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27866-5_36
Download citation
DOI: https://doi.org/10.1007/978-3-540-27866-5_36
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22924-7
Online ISBN: 978-3-540-27866-5
eBook Packages: Springer Book Archive