Abstract
A novel algorithm of loop nest statement instance scheduling is presented. It is based on the transitive closure of dependence graphs. The algorithm is implemented in the publicly available optimizing TRACO compiler, which allows for automatic parallelization of program loop nests and automatic generation of parallel compilable code in the OpenMP standard. Results of an experimental study demonstrate that the algorithm is able to generate parallel code for popular benchmarks and this code achieves satisfactory speed-up on modern machines. The computational complexity of the approach is low. Future algorithm improvements are discussed.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
To allow for computing the union of all dependence relations for imperfectly nested loops as well as valid code generation, we have to preprocess sets and relations. Preprocessing makes the sizes of tuples to be the same by means of scattering [1] and inserts identifiers of loop nest statements in the last position of tuples.
- 2.
The original programs are available at the webpage http://repo.or.cz/w/pluto.git/tree/HEAD:/examples. The generated codes are available at the repository https://sourceforge.net/p/traco/code/HEAD/tree/trunk/examples/lu.
References
Bastoul, C., Cohen, A., Girbal, S., Sharma, S., Temam, O.: Putting polyhedral loop transformations to work. In: International Workshop on Languages and Compilers for Parallel Computers, LCPC 2016. LNCS, Texas, vol. 2958, pp. 209–225 (2003)
Beletska, A., et al.: Coarse-grained loop parallelization: iteration space slicing vs affine transformations. Parallel Comput. 37, 479–497 (2011)
Bielecki, W., Palkowski, M., Klimek, T.: Free scheduling for statement instances of parameterized arbitrarily nested affine loops. Parallel Comput. 38(9), 518–532 (2012)
Bondhugula, U., et al.: A practical automatic polyhedral parallelizer and locality optimizer. SIGPLAN Not. 43(6), 101–113 (2008)
Feautrier, P.: Some efficient solutions to the affine scheduling problem: I. one-dimensional time. Int. J. Parallel Program. 21(5), 313–348 (1992)
Feautrier, P.: Some efficient solutions to the affine scheduling problem. Part II. multidimensional time. Int. J. of Parallel Program. 21(6), 389–420 (1992)
Griebl, M., Feautrier, P., Lengauer, C.: Index set splitting. Int. J. Paralleling Program. 28, 607–631 (2000)
Grosser, T., Verdoolaege, S., Cohen, A.: Polyhedral AST generation is more than scanning polyhedra. ACM Trans. Program. Lang. Syst. 37(4), 12:1–12:50 (2015)
Lim, A., Cheong, G.I., Lam, M.S.: An affine partitioning algorithm to maximize parallelism and minimize communication. In: Proceedings of the 13th ACM SIGARCH International Conference on Supercomputing, pp. 228–237. ACM Press (1999)
Pugh, W., Wonnacott, D.: An exact method for analysis of value-based array data dependences. In: Sixth Annual Workshop on Programming Languages and Compilers for Parallel Computing. Springer (1993)
Verdoolaege, S.: isl: an integer set library for the polyhedral model. In: Mathematical Software, ICMS 2010. LNCS, vol. 6327, pp. 299–302. Springer, Heidelberg (2010)
Acknowledgements
Thanks to the Miclab Team (miclab.pl) from the Technical University of Czestochowa (Poland) that provided access to high performance multi-core machines for the experimental study presented in this paper.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Bielecki, W., Palkowski, M. (2019). Transitive Closure Based Schedule of Loop Nest Statement Instances. In: PejaÅ›, J., El Fray, I., Hyla, T., Kacprzyk, J. (eds) Advances in Soft and Hard Computing. ACS 2018. Advances in Intelligent Systems and Computing, vol 889. Springer, Cham. https://doi.org/10.1007/978-3-030-03314-9_11
Download citation
DOI: https://doi.org/10.1007/978-3-030-03314-9_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-03313-2
Online ISBN: 978-3-030-03314-9
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)