Skip to main content

Putting Polyhedral Loop Transformations to Work

  • Conference paper
Languages and Compilers for Parallel Computing (LCPC 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2958))

Abstract

We seek to extend the scope and efficiency of iterative compilation techniques by searching not only for program transformation parameters but for the most appropriate transformations themselves. For that purpose, we need a generic way to express program transformations and compositions of transformations. In this article, we introduce a framework for the polyhedral representation of a wide range of transformations in a unified way. We also show that it is possible to generate efficient code after the application of polyhedral program transformations. Finally, we demonstrate an implementation of the polyhedral representation and code generation techniques in the Open64/ORC compiler.

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. Ancourt, C., Irigoin, F.: Scanning polyhedra with DO loops. In: 3rd ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming, June 1991, pp. 39–50 (1991)

    Google Scholar 

  2. Bastoul, C., Cohen, A., Girbal, S., Sharma, S., Temam, O.: Putting polyhedral loop transformations to work. Research report 4902, INRIA Rocquencourt, France (July 2003)

    Google Scholar 

  3. Bastoul, C., Feautrier, P.: Improving data locality by chunking. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 320–335. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  4. Blume, W., Eigenmann, R., Faigin, K., Grout, J., Hoeflinger, J., Padua, D., Petersen, P., Pottenger, W., Rauchwerger, L., Tu, P., Weatherford, S.: Parallel programming with Polaris. IEEE Computer 29(12), 78–82 (1996)

    Article  Google Scholar 

  5. Boulet, P., Darte, A., Silber, G.-A., Vivien, F.: Loop parallelization algorithms: From parallelism extraction to code generation. Parallel Computing 24(3), 421–444 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  6. Cooper, K.D., Hall, M.W., Hood, R.T., Kennedy, K., McKinley, K.S., Mellor-Crummey, J.M., Torczon, L., Warren, S.K.: The ParaScope parallel programming environment. Proceedings of the IEEE 81(2), 244–263 (1993)

    Article  Google Scholar 

  7. Eigenmann, R., Hoeflinger, J., Padua, D.: On the automatic parallelization of the perfect benchmarks. IEEE Trans. on Parallel and Distributed Systems 9(1), 5–23 (1998)

    Article  Google Scholar 

  8. Feautrier, P.: Some efficient solution to the affine scheduling problem, part II, multidimensional time. Int. Journal of Parallel Programming 21(6), 389–420 (1992); See also Part I, One Dimensional Time, 21(5), pp. 315–348

    Article  MathSciNet  MATH  Google Scholar 

  9. Griebl, M., Lengauer, C., Wetzel, S.: Code generation in the polytope model. In: PACT 1998 Intl. Conference on Parallel Architectures and Compilation Techniques, pp. 106–111 (1998)

    Google Scholar 

  10. Guillou, A.-C., Quilleré, F., Quinton, P., Rajopadhye, S., Risset, T.: Hardware design methodology with the alpha language. In: FDL 2001, Lyon, France (September 2001)

    Google Scholar 

  11. Hall, M., et al.: Maximizing multiprocessor performance with the SUIF compiler. IEEE Computer 29(12), 84–89 (1996)

    Article  Google Scholar 

  12. Irigoin, F., Jouvelot, P., Triolet, R.: Semantical interprocedural parallelization: An overview of the pips project. In: ACM Int. Conf. on Supercomputing (ICS’2), Cologne, Germany (June 1991)

    Google Scholar 

  13. Kelly, W.: Optimization within a unified transformation framework. Technical Report CS-TR-3725, University of Maryland (1996)

    Google Scholar 

  14. Kelly, W., Pugh, W., Rosser, E.: Code generation for multiple mappings. In: Frontiers 1995 Symp. on the frontiers of massively parallel computation, McLean (1995)

    Google Scholar 

  15. Li, W., Pingali, K.: A singular loop transformation framework based on nonsingular matrices. Intl. J. of Parallel Programming 22(2), 183–205 (1994)

    Article  MATH  Google Scholar 

  16. O’Boyle, M.: MARS: a distributed memory approach to shared memory compilation. In: Proc. Language, Compilers and Runtime Systems for Scalable Computing, Pittsburgh, May 1998. Springer, Heidelberg (1998)

    Google Scholar 

  17. O’Boyle, M., Knijnenburg, P., Fursin, G.: Feedback assisted iterative compiplation. In: Parallel Architectures and Compilation Techniques (PACT 2001), October 2001. IEEE Computer Society Press, Los Alamitos (2001)

    Google Scholar 

  18. Open research compiler, http://ipf-orc.sourceforge.net

  19. Quilleré, F., Rajopadhye, S., Wilde, D.: Generation of efficient nested loops from polyhedra. Intl. J. of Parallel Programming 28(5), 469–498 (2000)

    Article  Google Scholar 

  20. Schreiber, R., Aditya, S., Rau, B., Kathail, V., Mahlke, S., Abraham, S., Snider, G.: High-level synthesis of nonprogrammable hardware accelerators. Technical report, Hewlett-Packard (May 2000)

    Google Scholar 

  21. Xue, J.: Automating non-unimodular loop transformations for massive parallelism. Parallel Computing 20(5), 711–728 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  22. Yotov, K., Li, X., Ren, G., Cibulskis, M., De Jong, G., Garzaran, M., Padua, D., Pingali, K., Stodghill, P., Wu, P.: A comparison of empirical and model-driven optimization. In: ACM Symp. on Programming Language Design and Implementation (PLDI 2003), San Diego, California (June 2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bastoul, C., Cohen, A., Girbal, S., Sharma, S., Temam, O. (2004). Putting Polyhedral Loop Transformations to Work. In: Rauchwerger, L. (eds) Languages and Compilers for Parallel Computing. LCPC 2003. Lecture Notes in Computer Science, vol 2958. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24644-2_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24644-2_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21199-0

  • Online ISBN: 978-3-540-24644-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics