Skip to main content

Automatic Parallel Tiled Code Generation Based on Dependence Approximation

  • Conference paper
  • First Online:
Parallel Computing Technologies (PaCT 2021)

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

Included in the following conference series:

Abstract

The paper results concern automatic parallel program generation based on a program dependence approximation technique. Dependence approximation allows us to directly form linear time partition constraints necessary for extracting loop nest statement instance schedules to be used for parallel tiled code generation. The proposed approach was implemented in the publicly available DAPT optimizing compiler, which takes on its input the C program and automatically generates parallel tiled code in the OpenMP C/C++ standard. Empirically, we discovered that for some dynamic programming codes, DAPT generates tiled code whose tiles are of a larger dimension than that of tiles yielded with popular closely related optimizing compilers based on Farkas’ lemma. This allows us to considerably increase code locality for such applications.

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 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.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. Bielecki, W., Palkowski, M., Skotnicki, P.: Generation of parallel synchronization-free tiled code. Computing 100(3), 277–302 (2017). https://doi.org/10.1007/s00607-017-0576-3

    Article  MathSciNet  MATH  Google Scholar 

  2. Bondhugula, U., Hartono, A., Ramanujam, J., Sadayappan, P.: A practical automatic polyhedral parallelizer and locality optimizer. In: Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 101–113 (2008)

    Google Scholar 

  3. Feautrier, P.: Some efficient solutions to the affine scheduling problem. I. One-dimensional time. Int. J. Parallel Prog. 21(5), 313–347 (1992). https://doi.org/10.1007/BF01407835

    Article  MathSciNet  MATH  Google Scholar 

  4. Feautrier, P.: Some efficient solutions to the affine scheduling problem. Part II. Multidimensional time. Int. J. Parallel Prog. 21(6), 389–420 (1992). https://doi.org/10.1007/BF01379404

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  7. Manjunathaiah, M., Megson, G.M., Rajopadhye, S., Risset, T.: Uniformization of affine dependence programs for parallel embedded system design. In: 2001 International Conference on Parallel Processing, pp. 205–213. IEEE (2001)

    Google Scholar 

  8. Pouchet, L.N., et al.: Polybench: The polyhedral benchmark suite (2012). http://www.cs.ucla.edu/pouchet/software/polybench

  9. Ramanujam, J., Sadayappan, P.: Tiling multidimensional iteration spaces for multicomputers. J. Parallel Distrib. Comput. 16(2), 108–120 (1992)

    Article  Google Scholar 

  10. Rapanotti, L., Megson, G.M.: Uniformisation techniques for reducible integral recurrence equations. In: Algorithms and Parallel VLSI Architectures III, pp. 283–294. Elsevier (1995)

    Google Scholar 

  11. Schrijver, A.: Theory of Linear and Integer Programming. Wiley, Hoboken (1998)

    MATH  Google Scholar 

  12. Shang, W., Hodzic, E., Chen, Z.: On uniformization of affine dependence algorithms. IEEE Trans. Comput. 45(7), 827–840 (1996)

    Article  MathSciNet  Google Scholar 

  13. Tzen, T.H., Ni, L.M.: Dependence uniformization: a loop parallelization technique. IEEE Trans. Parallel Distrib. Syst. 4(5), 547–558 (1993)

    Article  Google Scholar 

  14. Verdoolaege, S.: isl: an integer set library for the polyhedral model. In: Fukuda, K., Hoeven, J., Joswig, M., Takayama, N. (eds.) ICMS 2010. LNCS, vol. 6327, pp. 299–302. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-15582-6_49

    Chapter  Google Scholar 

  15. Verdoolaege, S., Grosser, T.: Polyhedral extraction tool. In: Second International Workshop on Polyhedral Compilation Techniques (IMPACT 2012), Paris, France, pp. 1–16 (2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wlodzimierz Bielecki .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Bielecki, W., Poliwoda, M. (2021). Automatic Parallel Tiled Code Generation Based on Dependence Approximation. In: Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 2021. Lecture Notes in Computer Science(), vol 12942. Springer, Cham. https://doi.org/10.1007/978-3-030-86359-3_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-86359-3_20

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-86358-6

  • Online ISBN: 978-3-030-86359-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics