Skip to main content

Advertisement

Log in

A New Genetic Algorithm for Loop Tiling

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Tiling is a known problem especially in the field of computational geometry and its related engineering branches. In fact, a tile is a set of points in the Cartesian space. The goal is to partition the space of the points as tiles with optimal dimensions and shapes such that a number of predefined semantic relations holds amongst the tiles. So far, this problem has been solved in special cases with two or three dimensions. The problem of determining the optimal tile is an NP-Hard problem. Presenting a novel constraint genetic algorithm in this paper, we have been able to solve the tiling problem in Cartesian spaces with more than two dimensions, for the loop parallelization problem.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. H. I. Lislevand and H. O. Njaa. Connection between the Need for compression, band with and quality for Multimedia Transmissions in UMTS. Master Thesis, Agder University collage Faculty of Engineering and Science, 2004.

  2. R. A. Dolin. A Scalable Distributed Architecture for Locating Heterogeneous Information Sources. Ph. D. Thesis. University of California Santa Barbara, 1998.

  3. A. Almansa, S. Durand and B. Rouge. Measuring and Improving Image Resolution by Adaptation of the Reciprocal Cell, July 5, 2002.

  4. G. Rivera and CH. W. Tseng. Tiling optimizations for 3D scientific computations. In the Proceeding of SC’00, Dallas, IEEE, pp.1–23, November 2000.

  5. D. Cociorva, J. W. Wilkins, C. Lam, G. Baumgartner, and J. Ramanujam. Loop Optimization for a class of Memory-Constrained Computations.ICS’01 Sorrento, Italy, ACM, pp. 103–113, 2001.

  6. C. Leopold. Exploiting Non-Uniform Reuse for Cache Optimization: A Case Study. SAC, Las Vegas, ACM, pp. 560–564, 2001.

    Google Scholar 

  7. K. Mckinley, S. Carr, and CH. W. Tseng. Improving data locality with loop transformations. ACM Transactions on Programming Languages and Systems, 18(4):424–453, 1996.

    Article  Google Scholar 

  8. G. Goumas, A. Sotiropoulos, and N. Koziris. Minimizing completion time for loop tiling with computation and communication overlapping. IEEE, 1–10, 2001.

  9. F. Rastello and Y. Robert. Automatic partitioning of parallel loops with parallelepiped-shaped tiles. IEEE Transactions on Parallel and Distributed Systems, 13(5):460–470, 2002.

    Article  Google Scholar 

  10. K. Högstedt, L. Carter, and J. Ferrante. On the parallel execution time of tiled loops. In Transactions on Parallel and Distributed Systems, 14(3):307–320, 2003.

    Article  Google Scholar 

  11. T. Kisuki, P. M. W. Knijnenburg, and M. F. P. O’Boyle. Combined selection of tile sizes and unroll factors using iterative compilation. IEEE, pp. 237–246, 2000.

  12. P. R. Panda, H. Nakamura, N. D. Dutt, and A. Nicolau. Augmenting loop tiling with data alignment for improved cache performance. IEEE Transactions on Computers, 48(2):142–149, 1999.

    Article  Google Scholar 

  13. V. Sarkar and N. Megiddo. An analytical model for loop tiling and its solution. IEEE, pp. 146–153, 2000.

  14. S. R. Sathe and P. M. Nawghare. On optimal tiling of iteration spaces. IEEE, pp. 256–258, 2000.

  15. N. Ahmed, N. Mateev, and K. Pingali. Tiling imperfectly-nested loop nests, IEEE, pp. 1–14, 2000.

  16. M. Kandamir, R. Bordawekar, A. Choudhary, and J. Ramanujam. A unified tiling approach for out-o-core computations, pp. 1–12, 1997.

  17. Ch. Hsu and U. Kremer. A quantitative analysis of tile size selection algorithms. Journal of Supercomputing, 1–28, 2000.

  18. G. Pike and N. P. Hilfenger. Better tiling and array contraction for compiling scientific programs. IEEE, pp. 1–12, 2002.

  19. P. Boulet, D. Dongarra, Y. Robert, and F. Vivien, Tiling for heterogeneous computing platforms. pp. 1–19, 1998.

  20. T. Bak. Evolutionary Algorithms in Theory and Practice. Oxford University, 1996.

  21. D. E. Goldberg. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, 1989.

  22. M. Gen and R. Cheng. Genetic Algorithms, Engineering Design. John Wiley & Sons, 1997.

  23. C. Eisenbeis and J. C. Sogno. A general algorithm for data dependence analysis. In International Conference on Supercomputing, Washington, July 19–23, pp. 1–28, 1992.

  24. D. E. Maydan, J. L. Hennessy and M. S. Lam. Efficient and exact data dependence analysis. ACM SIGPLAN’91 Conference on Programming Language Design and Implementation, Toronto, Ontario, Canada, June 26–28, pp. 1–10, 1991.

  25. A. J. C. Bik and H. A. G. Wijshoff. Implementation of Fourier-Motzkin elimination. Leiden University Netherlands, pp. 1–10, 1994.

  26. L. Song and K. M. Kavi A technique for variable dependence driven loop peeling. In the Proceeding of Fifth International Conference on Algorithms and Architectures for Parallel Processing, IEEE, pp. 1–6, 2002.

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

  28. S. Parsa, Sh. Lotfi, O. Boushehrian, A. Avaani and Sh. Tasharrofi. On the use of genetic algorithms for parallelization of serial loops in super compilers for execution on super computers. In 9th Annual Computer Society of Iran Computer Conference, pp. 62–69 (Persian) 2003.

  29. E. Hodzic and W. Shang. On time supernode shape. IEEE Transactions on Parallel and Distribyted Systems, 13(12):1220–1233, 2002.

    Article  Google Scholar 

  30. Z. Michalewicz. A survey of constraint handling techniques in evolutionary computation methods. In McDonnell et al., pp. 135–155, 1995.

  31. H. Zima and B. Chapman. Super Compilers for Parallel and Vector Computers. Addison-Wesley, 1991.

  32. A. Darte, Y. Robert, and F. Vivien. Scheduling and Automatic Parallelization. Birkhäuser, 2000.

  33. R. Allen and K. Kennedy. Optimizing Compilers for Modern Architectures. Morgan Kaufmann Publishers, 2001.

  34. M. Saffari and K. Bahrampour. Matrices and Vectors. Schwartz, 1969 (Persian).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Saeed Parsa.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Parsa, S., Lotfi, S. A New Genetic Algorithm for Loop Tiling. J Supercomput 37, 249–269 (2006). https://doi.org/10.1007/s11227-006-6367-9

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-006-6367-9

Keywords

Navigation