Skip to main content

Loop Parallelization in Multi-dimensional Cartesian Space

  • Conference paper
Perspectives of Systems Informatics (PSI 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4378))

  • 563 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ahmed, N., Mateev, N., Pingali, K.: Tiling Imperfectly-nested Loop Nests. IEEE, pp. 1–14 (2000)

    Google Scholar 

  2. Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures. Morgan Kaufmann, San Francisco (2001)

    Google Scholar 

  3. Bak, T.: Evolutionary Algorithms in Theory and Practice. Oxford University Press, Oxford (1996)

    Google Scholar 

  4. Banerjee, U.: Loop Transformations for Restructuring Compilers, The Foundations. Kluwer Academic Publishers, Dordrecht (1993)

    MATH  Google Scholar 

  5. Boulet, P., et al.: Tiling for Heterogeneous Computing Platforms, pp. 1–19 (1998)

    Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. Darte, A., Robert, Y., Vivien, F.: Scheduling and Automatic Parallelization. Birkhäuser, Basel (2000)

    MATH  Google Scholar 

  8. Gen, M., Cheng, R.: Genetic Algorithms & Engineering Design. John Wiley & Sons, Chichester (1997)

    Google Scholar 

  9. Goldberg, D.E.: Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, Reading (1989)

    MATH  Google Scholar 

  10. Goumas, G., Sotiropoulos, A., Koziris, N.: Minimizing Completion Time for Loop Tiling with Computation and Communication Overlapping. IEEE, pp. 1–10 (2001)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. Kandemir, M., et al.: A Unified Tiling Approach for Out-of-Core Computations, pp. 1–12 (1997)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. Miyandashti, F.J.: Loop Uniformization in Shared-Memory MIMD Machine. Master Thesis, Iran University of Science and Technology (Persian) (1997)

    Google Scholar 

  15. 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)

    Article  Google Scholar 

  16. 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)

    Google Scholar 

  17. Wolfe, M.E.: More iteration space tiling. In: Supercomputing’88, November 1989, pp. 655–664 (1989)

    Google Scholar 

  18. Zima, H., Chapman, B.: Super Compilers for Parallel and Vector Computers. Addison-Wesley, Reading (1991)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Irina Virbitskaite Andrei Voronkov

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics