Skip to main content

Forward Communication Only Placements and Their Use for Parallel Program Construction

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

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

Abstract

The context of this paper is automatic parallelization by the space-time mapping method. One key issue in that approach is to adjust the granularity of the derived parallelism. For that purpose, we use tiling in the space and time dimensions. While space tiling is always legal, there are constraints on the possibility of time tiling, unless the placement is such that communications always go in the same direction (forward communications only). We derive an algorithm that automatically constructs an FCO placement – if it exists. We show that the method is applicable to many familiar kernels and that it gives satisfactory speedups.

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. Boulet, P., Darte, A., Risset, T., Robert, Y.: (Pen)-ultimate tiling? Integration 17, 33–51 (1994)

    Google Scholar 

  2. Collard, J.-F., Griebl, M.: A precise fixpoint reaching definition analysis for arrays. In: Carter, L., Ferrante, J. (eds.) LCPC 1999. LNCS, vol. 1863, pp. 286–302. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  3. Dion, M., Robert, Y.: Mapping affine loop nests: New results. In: Hertzberger, B., Serazzi, G. (eds.) HPCN-Europe 1995. LNCS, vol. 919, pp. 184–189. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  4. Feautrier, P.: Dataflow analysis of array and scalar references. Int. J. Parallel Programming 20(1), 23–53 (1991)

    Article  MATH  Google Scholar 

  5. Feautrier, P.: Some efficient solutions to the affine scheduling problem. Part I. One-dimensional time. Int. J. Parallel Programming 21(5), 313–348 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  6. Feautrier, P.: Toward automatic distribution. Parallel Processing Letters 4(3), 233–244 (1994)

    Article  Google Scholar 

  7. Feautrier, P.: Automatic parallelization in the polytope model. In: Perrin, G.-R., Darte, A. (eds.) The Data Parallel Programming Model. LNCS, vol. 1132, pp. 79–103. Springer, Heidelberg (1996)

    Google Scholar 

  8. Feautrier, P.: Automatic distribution of data and computation. Technical Report 2000/3, Laboratoire PRiSM, Université de Versailles (March 2000); English translation of TSI 15, 529–557 (1996), http://www.prism.uvsq.fr/rapports/2000/abstract20003.html

  9. Griebl, M.: The Mechanical Parallelization of Loop Nests Containing while Loops. PhD thesis, Fakultät für Mathematik und Informatik, Universität Passau, Technical Report MIP-9701 (January 1997)

    Google Scholar 

  10. Griebl, M.: On the mechanical tiling of space-time mapped loop nests. Technical Report MIP-0009, Fakultät für Mathematik und Informatik, Universität Passau (August 2000)

    Google Scholar 

  11. Griebl, M.: On tiling space-time mapped loop nests. In: Thirteenth annual ACM symposium on parallel algorithms and architectures (SPAA 2001), July 2001, pp. 322–323 (2001)

    Google Scholar 

  12. Griebl, M., Feautrier, P.A., Lengauer, C.: Index set splitting. Int. J. Parallel Programming 28(6), 607–631 (2000)

    Article  Google Scholar 

  13. Hodžić, E., Shang, W.: On time optimal supernode shape. In: Eighth Int. Workshop on Compilers for Parallel Computers (CPC 2000), pp. 367–379. CRC Press, Boca Raton (2000)

    Google Scholar 

  14. Högstedt, K., Carter, L., Ferrante, J.: Selecting tile shape for minimal execution time. In: 11th Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA 1999), pp. 201–211. ACM Press, New York (1999); Also available with proofs as UCSD Tech Report CS99-616

    Chapter  Google Scholar 

  15. Irigoin, F., Triolet, R.: Supernode partitioning. In: Proc. 15th Ann. ACM Symp. on Principles of Programming Languages (POPL 1988), pp. 319–329. ACM Press, San Diego (1988)

    Chapter  Google Scholar 

  16. Lengauer, C.: Loop parallelization in the polytope model. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 398–416. Springer, Heidelberg (1993)

    Google Scholar 

  17. Lim, A.W., Lam, M.S.: Maximizing parallelism and minimizing synchronization with affine partitions. Parallel Computing 24(3–4), 445–475 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  18. Reed, D.A., Adams, L.M., Patrick, M.L.: Stencils and problem partitionings: Their influence on the performance of multiple processor systems. IEEE Trans. on Computers C-36(7), 845–858 (1987)

    Article  Google Scholar 

  19. Schreiber, R., Dongarra, J.J.: Automatic blocking of nested loops. Technical Report CS-90-108, University of Tennessee, Computer Science (May 1990)

    Google Scholar 

  20. Schrijver, A.: Theory of Linear and Integer Programming. Series in Discrete Mathematics. John Wiley & Sons, Chichester (1986)

    MATH  Google Scholar 

  21. Wilde, D.K.: A library for doing polyhedral operations. Technical Report 785, IRISA (December 1993)

    Google Scholar 

  22. Wolf, M., Lam, M.: A loop transformation theory and an algorithm to maximize parallelism. IEEE Trans. on Parallel and Distributed Systems 2(4), 452–471 (1991)

    Article  Google Scholar 

  23. Wolfe, M.: Iteration space tiling for memory hierarchies. In: Rodrigue, G. (ed.) Proc. of the 3rd conference on Parallel Processing for Scientific Computing, pp. 357–361. SIAM, Philadelphia (1989)

    Google Scholar 

  24. Xue, J.: Communication-minimal tiling of uniform dependence loops. J. Parallel and Distributed Computing 42(1), 42–59 (1997)

    Article  Google Scholar 

  25. Xue, J.: On tiling as a loop transformation. Parallel Processing Letters 7(4), 409–424 (1997)

    Article  MathSciNet  Google Scholar 

  26. Xue, J., Huang, C.-H.: Reuse-driven tiling for improving data locality. Int. J. Parallel Programming 26(6), 671–696 (1998)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Griebl, M., Feautrier, P., Größlinger, A. (2005). Forward Communication Only Placements and Their Use for Parallel Program Construction. In: Pugh, B., Tseng, CW. (eds) Languages and Compilers for Parallel Computing. LCPC 2002. Lecture Notes in Computer Science, vol 2481. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11596110_2

Download citation

  • DOI: https://doi.org/10.1007/11596110_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-30781-5

  • Online ISBN: 978-3-540-31612-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics