The Journal of Supercomputing

, Volume 37, Issue 3, pp 249–269 | Cite as

A New Genetic Algorithm for Loop Tiling



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.


constraint genetic algorithm optimal tiling serial and parallel loops parallel computers 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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.Google Scholar
  2. 2.
    R. A. Dolin. A Scalable Distributed Architecture for Locating Heterogeneous Information Sources. Ph. D. Thesis. University of California Santa Barbara, 1998.Google Scholar
  3. 3.
    A. Almansa, S. Durand and B. Rouge. Measuring and Improving Image Resolution by Adaptation of the Reciprocal Cell, July 5, 2002.Google Scholar
  4. 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.Google Scholar
  5. 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.Google Scholar
  6. 6.
    C. Leopold. Exploiting Non-Uniform Reuse for Cache Optimization: A Case Study. SAC, Las Vegas, ACM, pp. 560–564, 2001.Google Scholar
  7. 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.CrossRefGoogle Scholar
  8. 8.
    G. Goumas, A. Sotiropoulos, and N. Koziris. Minimizing completion time for loop tiling with computation and communication overlapping. IEEE, 1–10, 2001.Google Scholar
  9. 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.CrossRefGoogle Scholar
  10. 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.CrossRefGoogle Scholar
  11. 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.Google Scholar
  12. 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.CrossRefGoogle Scholar
  13. 13.
    V. Sarkar and N. Megiddo. An analytical model for loop tiling and its solution. IEEE, pp. 146–153, 2000.Google Scholar
  14. 14.
    S. R. Sathe and P. M. Nawghare. On optimal tiling of iteration spaces. IEEE, pp. 256–258, 2000.Google Scholar
  15. 15.
    N. Ahmed, N. Mateev, and K. Pingali. Tiling imperfectly-nested loop nests, IEEE, pp. 1–14, 2000.Google Scholar
  16. 16.
    M. Kandamir, R. Bordawekar, A. Choudhary, and J. Ramanujam. A unified tiling approach for out-o-core computations, pp. 1–12, 1997.Google Scholar
  17. 17.
    Ch. Hsu and U. Kremer. A quantitative analysis of tile size selection algorithms. Journal of Supercomputing, 1–28, 2000.Google Scholar
  18. 18.
    G. Pike and N. P. Hilfenger. Better tiling and array contraction for compiling scientific programs. IEEE, pp. 1–12, 2002.Google Scholar
  19. 19.
    P. Boulet, D. Dongarra, Y. Robert, and F. Vivien, Tiling for heterogeneous computing platforms. pp. 1–19, 1998.Google Scholar
  20. 20.
    T. Bak. Evolutionary Algorithms in Theory and Practice. Oxford University, 1996.Google Scholar
  21. 21.
    D. E. Goldberg. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, 1989.Google Scholar
  22. 22.
    M. Gen and R. Cheng. Genetic Algorithms, Engineering Design. John Wiley & Sons, 1997.Google Scholar
  23. 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.Google Scholar
  24. 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.Google Scholar
  25. 25.
    A. J. C. Bik and H. A. G. Wijshoff. Implementation of Fourier-Motzkin elimination. Leiden University Netherlands, pp. 1–10, 1994.Google Scholar
  26. 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.Google Scholar
  27. 27.
    F. J. Miyandashti. Loop Uniformization in Shared-Memory MIMD Machine. Master Thesis, Iran University of Science and Technology, 1997 (Persian).Google Scholar
  28. 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.Google Scholar
  29. 29.
    E. Hodzic and W. Shang. On time supernode shape. IEEE Transactions on Parallel and Distribyted Systems, 13(12):1220–1233, 2002.CrossRefGoogle Scholar
  30. 30.
    Z. Michalewicz. A survey of constraint handling techniques in evolutionary computation methods. In McDonnell et al., pp. 135–155, 1995.Google Scholar
  31. 31.
    H. Zima and B. Chapman. Super Compilers for Parallel and Vector Computers. Addison-Wesley, 1991.Google Scholar
  32. 32.
    A. Darte, Y. Robert, and F. Vivien. Scheduling and Automatic Parallelization. Birkhäuser, 2000.Google Scholar
  33. 33.
    R. Allen and K. Kennedy. Optimizing Compilers for Modern Architectures. Morgan Kaufmann Publishers, 2001.Google Scholar
  34. 34.
    M. Saffari and K. Bahrampour. Matrices and Vectors. Schwartz, 1969 (Persian).Google Scholar

Copyright information

© Springer Science + Business Media, LLC 2006

Authors and Affiliations

  1. 1.Department of Computer EngineeringIran University of Science and TechnologyNarmakIran

Personalised recommendations