Skip to main content

Perfectly Nested Loop Tiling Transformations Based on the Transitive Closure of the Program Dependence Graph

  • Chapter
  • First Online:
Soft Computing in Computer and Information Science

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 342))

Abstract

A novel approach to producing tiled code for perfectly nested loops is presented. It is based on the transitive closure of the program dependence graph. The approach is derived via a combination of the Polyhedral and Iteration Space Slicing frameworks that allows us to enlarge the effectiveness of the tiling transformation. The results of the evaluation of the effectiveness of a presented algorithm and the efficiency of tiled codes produced by means of the algorithm are discussed.

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 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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

References

  1. Bastoul, C.: Code generation in the polyhedral model is easier than you think. In: IEEE International Conference on Parallel Architecture and Compilation Techniques PACT’13, Juan-les-Pins, pp. 7–16 September 2004

    Google Scholar 

  2. Beletska, A., Bielecki, W., Cohen, A., Palkowski, M., Siedlecki, K.: Coarse-grained loop parallelization: iteration space slicing vs affine transformations. Parallel Comput. 37, 479–497 (2011)

    Article  Google Scholar 

  3. Benabderrahmane, M.W., Pouchet, L.N., Cohen, A., Bastoul, C.: The polyhedral model is more widely applicable than you think. In: Proceedings of the 19th Joint European Conference on Theory and Practice of Software. International Conference on Compiler Construction, CC’10/ETAPS’10, pp. 283–303. Springer, Berlin (2010). http://dx.doi.org/10.1007/978-3-642-11970-5_16

  4. Bielecki, W., Palkowski, M.: A parallelizing and optimizing compiler—traco. http://traco.sourceforge.net (2013)

  5. Bielecki, W., Palkowski, M., Klimek, T.: Free scheduling for statement instances of parameterized arbitrarily nested affine loops. Parallel Comput. 38(9), 518–532 (2012)

    Article  Google Scholar 

  6. Bondhugula, U., Hartono, A., Ramanujam, J., Sadayappan, P.: A practical automatic polyhedral parallelizer and locality optimizer. SIGPLAN Not. 43(6), 101–113 (2008)

    Article  Google Scholar 

  7. Griebl, M.: Automatic parallelization of loop programs for distributed memory architectures (2004)

    Google Scholar 

  8. Irigoin, F., Triolet, R.: Supernode partitioning. In: Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL’88, pp. 319–329. ACM, New York (1988)

    Google Scholar 

  9. Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: The Omega project. http://www.cs.umd.edu/projects/omega/release-1.0.html

  10. Kelly, W., Pugh, W., Rosser, E., Shpeisman, T.: Transitive closure of infinite graphs and its applications. Int. J. Parallel Program. 24(6), 579–598 (1996)

    Google Scholar 

  11. Lim, A., Cheong, G.I., Lam, M.S.: An affine partitioning algorithm to maximize parallelism and minimize communication. In: Proceedings of the 13th ACM SIGARCH International Conference on Supercomputing, pp. 228–237. ACM Press (1999)

    Google Scholar 

  12. NAS benchmarks suite. http://www.nas.nasa.gov (2013)

  13. The Polyhedral Benchmark suite. http://www.cse.ohio-state.edu/pouchet/software/polybench/ (2012)

  14. Pugh, W., Rosser, E.: Iteration space slicing and its application to communication optimization. In: International Conference on Supercomputing, pp. 221–228 (1997)

    Google Scholar 

  15. Verdoolaege, S.: Integer set library—manual. Technical Report http://www.kotnet.org/skimo//isl/manual.pdf (2011)

  16. Verdoolaege, S.: Barvinok: User guide. Version: barvinok-0.36. http://garage.kotnet.org/skimo/barvinok/barvinok.pdf (2012)

  17. Verdoolaege, S., Cohen, A., Beletska, A.: Transitive closures of affine integer tuple relations and their overapproximations. In: Proceedings of the 18th International Conference on Static Analysis, SAS’11, pp. 216–232. Springer, Berlin (2011). http://dl.acm.org/citation.cfm?id=2041552.2041570

  18. Wolf, M.E., Lam, M.S.: A loop transformation theory and an algorithm to maximize parallelism. IEEE Trans. Parallel Distrib. Syst. 2(4), 452–471 (1991)

    Article  Google Scholar 

  19. Wonnacott, D.G., Strout, M.M.: On the scalability of loop tiling techniques. In: Proceedings of the 3rd International Workshop on Polyhedral Compilation Techniques (IMPACT) (January 2013)

    Google Scholar 

  20. Xue, J.: On tiling as a loop transformation. Parallel Process. Lett. 7(4), 409–424 (1997)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marek Palkowski .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Bielecki, W., Palkowski, M. (2015). Perfectly Nested Loop Tiling Transformations Based on the Transitive Closure of the Program Dependence Graph. In: Wiliński, A., Fray, I., Pejaś, J. (eds) Soft Computing in Computer and Information Science. Advances in Intelligent Systems and Computing, vol 342. Springer, Cham. https://doi.org/10.1007/978-3-319-15147-2_26

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-15147-2_26

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-15146-5

  • Online ISBN: 978-3-319-15147-2

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics