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.