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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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)
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)
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
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)
Budimlić, Z., et al.: Concurrent collections. Sci. Program. 18(3–4), 203–217 (2010)
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
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)
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
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
Griebl, M.: Automatic parallelization of loop programs for distributed memory architectures. Univ. Passau (2004)
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)
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)
Ravishankar, M., et al.: Distributed memory code generation for mixed irregular/regular computations. In: ACM SIGPLAN Notices, vol. 50, pp. 65–75. ACM (2015)
Vasilache, N., et al.: A tale of three runtimes. arXiv preprint arXiv:1409.1914 (2014)
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
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)