Abstract
Loop parallelization is of great importance to automatic translation of sequential into parallel code. We have applied Diophantine equations to compute the basic dependency vector sets covering all possible non-uniform dependencies between loop iterations. To partition the resultant dependencies space into multi-dimensional tiles of suitable shape and size, a new genetic algorithm is proposed in this article. Also, a new scheme based on multi-dimensional wave-fronts is developed to convert the multi-dimensional parallelepiped tiles into parallel loops. The problem of determining optimal tiles is NP-hard. Presenting a new constraint genetic algorithm in this paper the tiling problem is for the first time solved, in Cartesian spaces of any dimensionality.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ahmed, N., Mateev, N., Pingali, K.: Tiling Imperfectly-nested Loop Nests. IEEE, pp. 1–14 (2000)
Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures. Morgan Kaufmann, San Francisco (2001)
Bak, T.: Evolutionary Algorithms in Theory and Practice. Oxford University Press, Oxford (1996)
Banerjee, U.: Loop Transformations for Restructuring Compilers, The Foundations. Kluwer Academic Publishers, Dordrecht (1993)
Boulet, P., et al.: Tiling for Heterogeneous Computing Platforms, pp. 1–19 (1998)
Cociorva, D., et al.: Loop Optimization for a class of Memory-Constrained Computations. In: 15th International Conference on Supercomputing, Sorrento, Italy, pp. 103–113. ACM, New York (2001)
Darte, A., Robert, Y., Vivien, F.: Scheduling and Automatic Parallelization. Birkhäuser, Basel (2000)
Gen, M., Cheng, R.: Genetic Algorithms & Engineering Design. John Wiley & Sons, Chichester (1997)
Goldberg, D.E.: Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, Reading (1989)
Goumas, G., Sotiropoulos, A., Koziris, N.: Minimizing Completion Time for Loop Tiling with Computation and Communication Overlapping. IEEE, pp. 1–10 (2001)
Griebl, M., Faber, P., Lengauer, C.: Space-time mapping and tiling: a helpful combination. In: Concurrency and Computation: Practice and Experience, pp. 221–246. John Wiley & Sons, Chichester (2004)
Kandemir, M., et al.: A Unified Tiling Approach for Out-of-Core Computations, pp. 1–12 (1997)
Leopold, C.: Exploiting Non-Uniform Reuse for Cache Optimization: A Case Study. In: Symposium on Applied Computing, Las Vegas, pp. 560–564. ACM, New York (2001)
Miyandashti, F.J.: Loop Uniformization in Shared-Memory MIMD Machine. Master Thesis, Iran University of Science and Technology (Persian) (1997)
Rastello, F., Robert, Y.: Automatic Partitioning of Parallel Loops with Parallelepiped-Shaped Tiles. IEEE Transactions on Parallel and Distributed Systems 13(5), 460–470 (2002)
Wolfe, M.E.: Iteration space tiling for memory hierarchies. In: Rodrigue, H. (ed.) 3rd Conference on Parallel Processing for Scientific Computing, December 1989, pp. 357–361 (1989)
Wolfe, M.E.: More iteration space tiling. In: Supercomputing’88, November 1989, pp. 655–664 (1989)
Zima, H., Chapman, B.: Super Compilers for Parallel and Vector Computers. Addison-Wesley, Reading (1991)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Parsa, S., Lotfi, S. (2007). Loop Parallelization in Multi-dimensional Cartesian Space. In: Virbitskaite, I., Voronkov, A. (eds) Perspectives of Systems Informatics. PSI 2006. Lecture Notes in Computer Science, vol 4378. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70881-0_29
Download citation
DOI: https://doi.org/10.1007/978-3-540-70881-0_29
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-70880-3
Online ISBN: 978-3-540-70881-0
eBook Packages: Computer ScienceComputer Science (R0)