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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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
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)
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
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
Irigoin, F., Triolet, R.: Supernode partitioning. In: Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 319–329 (1988)
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)
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)
Pouchet, L.N., et al.: Polybench: The polyhedral benchmark suite (2012). http://www.cs.ucla.edu/pouchet/software/polybench
Ramanujam, J., Sadayappan, P.: Tiling multidimensional iteration spaces for multicomputers. J. Parallel Distrib. Comput. 16(2), 108–120 (1992)
Rapanotti, L., Megson, G.M.: Uniformisation techniques for reducible integral recurrence equations. In: Algorithms and Parallel VLSI Architectures III, pp. 283–294. Elsevier (1995)
Schrijver, A.: Theory of Linear and Integer Programming. Wiley, Hoboken (1998)
Shang, W., Hodzic, E., Chen, Z.: On uniformization of affine dependence algorithms. IEEE Trans. Comput. 45(7), 827–840 (1996)
Tzen, T.H., Ni, L.M.: Dependence uniformization: a loop parallelization technique. IEEE Trans. Parallel Distrib. Syst. 4(5), 547–558 (1993)
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
Verdoolaege, S., Grosser, T.: Polyhedral extraction tool. In: Second International Workshop on Polyhedral Compilation Techniques (IMPACT 2012), Paris, France, pp. 1–16 (2012)
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
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)