Data locality improvement and nested loops parallelization are two complementary and competing approaches for optimizing loop nests that constitute a large portion of computation times in scientific and engineering programs. While there are effective methods for each one of these, prior studies have paid less attention to address these two simultaneously. This paper proposes a unified approach that integrates these two techniques to obtain an appropriate locality conscious loop transformation to partition the loop iteration space into outer parallel tiled loops. The approach is based on the polyhedral model to achieve a multidimensional affine scheduling as a transformation that result the largest groups of tilable loops with maximum coarse grain parallelism, as far as possible. Furthermore, tiles will be scheduled on processor cores to exploit maximum data reuse through scheduling tiles with high volume of data sharing on the same core consecutively or on different cores with shared cache at around the same time.
Publié le : 2017-07-06
Classification:
Parallel and Distributed Computing,
Nested loops parallelization, loop tiling, data locality, parallel\break computing,
68N19
@article{cai2017_3_566,
author = {Saeed Parsa; Department of Computer Engineering, Iran University of Science and Technology and Mohammad Hamzei; Department of Computer Engineering, Iran University of Science and Technology},
title = {Nested-Loops Tiling for Parallelization and Locality Optimization},
journal = {Computing and Informatics},
volume = {35},
number = {4},
year = {2017},
language = {en},
url = {http://dml.mathdoc.fr/item/cai2017_3_566}
}
Saeed Parsa; Department of Computer Engineering, Iran University of Science and Technology; Mohammad Hamzei; Department of Computer Engineering, Iran University of Science and Technology. Nested-Loops Tiling for Parallelization and Locality Optimization. Computing and Informatics, Tome 35 (2017) no. 4, . http://gdmltest.u-ga.fr/item/cai2017_3_566/