Skip to main content

Abstractions for Polyhedral Topology-Aware Tasking [Position Paper]

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 2019)

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

  • 310 Accesses

Abstract

Traditional polyhedral compilation techniques rely on Integer Linear Programming (ILP) and lexicographic optimization to compute optimal transformations. Although, these techniques excel at exposing and leveraging data and pipeline parallelism as well as exploiting (hidden) available locality, they are not the best suited when tackling problems such as the Manhattan distance in a grid.

In this short paper we propose techniques to sort and rank the various orderings of tasks mapped onto a network, while considering 3 different network topologies. We introduce new abstractions and develop a new compiler analysis to determine an optimal order of tasks w.r.t to the user-provided execution location. We propose a closed form for encoding in a single set all the possible orderings of tasks. In a nutshell, the encoding represents the topological orderings of nodes in a task graph. Once the closed form is built, we proceed to iteratively evaluate the total cost of each point in the set (an execution order). This involves computing the cost between every pair of adjacent tasks, and aggregating them to obtain the total cost. Finally, an optimal ordering is obtained by applying lexicographic minimization over all the points in the set.

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 EPUB and 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

References

  1. Ancourt, C., Coelho, F., Irigoin, F., Keryell, R.: A linear algebra framework for static High Performance Fortran code distribution. Sci. Program. 6(1), 3–27 (1997)

    Google Scholar 

  2. Bondhugula, U.: Compiling affine loop nests for distributed-memory parallel architectures. In: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, SC 2013, pp. 1–12. IEEE (2013)

    Google Scholar 

  3. 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, PLDI 2008, pp. 101–113. ACM, New York (2008). https://doi.org/10.1145/1375581.1375595

  4. Bosilca, G., Bouteiller, A., Danalis, A., Faverge, M., Hérault, T., Dongarra, J.J.: PaRSEC: exploiting heterogeneity to enhance scalability. Comput. Sci. Eng. 15(6), 36–45 (2013)

    Article  Google Scholar 

  5. Budimlić, Z., et al.: Concurrent collections. Sci. Program. 18(3–4), 203–217 (2010)

    Google Scholar 

  6. Dathathri, R., Mullapudi, R.T., Bondhugula, U.: Compiling affine loop nests for a dynamic scheduling runtime on shared and distributed memory. ACM Trans. Parallel Comput. 3(2), (2016). Article no. 12, 28 pages. https://doi.org/10.1145/2948975

  7. Dathathri, R., Reddy, C., Ramashekar, T., Bondhugula, U.: Generating efficient data movement code for heterogeneous architectures with distributed-memory. In: Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques, pp. 375–386. IEEE (2013)

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

  11. Kong, M., Pouchet, L.N., Sadayappan, P., Sarkar, V.: PIPES: a language and compiler for task-based programming on distributed-memory clusters. In: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2016, pp. 456–467. IEEE (2016)

    Google Scholar 

  12. Moreton-Fernandez, A., Gonzalez-Escribano, A., Llanos, D.R.: On the run-time cost of distributed-memory communications generated using the polyhedral model. In: 2015 International Conference on High Performance Computing & Simulation (HPCS), pp. 151–159. IEEE (2015)

    Google Scholar 

  13. Ravishankar, M., et al.: Distributed memory code generation for mixed irregular/regular computations. In: ACM SIGPLAN Notices, vol. 50, pp. 65–75. ACM (2015)

    Google Scholar 

  14. Vasilache, N., et al.: A tale of three runtimes. arXiv preprint arXiv:1409.1914 (2014)

  15. 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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Martin Kong .

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

Kong, M. (2021). Abstractions for Polyhedral Topology-Aware Tasking [Position Paper]. In: Pande, S., Sarkar, V. (eds) Languages and Compilers for Parallel Computing. LCPC 2019. Lecture Notes in Computer Science(), vol 11998. Springer, Cham. https://doi.org/10.1007/978-3-030-72789-5_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-72789-5_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-72788-8

  • Online ISBN: 978-3-030-72789-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics