Transitive Closure Based Schedule of Loop Nest Statement Instances
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.
KeywordsSchedule Transitive closure Dependence graphs Automatic loop nest parallelization OpenMP
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.
- 1.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)Google Scholar
- 5.Feautrier, P.: Some efficient solutions to the affine scheduling problem: I. one-dimensional time. Int. J. Parallel Program. 21(5), 313–348 (1992)Google Scholar
- 6.Feautrier, P.: Some efficient solutions to the affine scheduling problem. Part II. multidimensional time. Int. J. of Parallel Program. 21(6), 389–420 (1992)Google Scholar
- 8.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)Google Scholar
- 9.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)Google Scholar
- 10.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)Google Scholar
- 11.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)Google Scholar