An affine partitioning algorithm to maximize parallelism and minimize communication
An affine partitioning algorithm to maximize parallelism and minimize communication
复制标题
DOI:
10.1145/305138.305197
复制
发表时间:
1999-06
期刊:
影响因子:
--
通讯作者:
Amy W. Lim;Gerald I. Cheong;M. Lam
中科院分区:
文献类型:
--
作者:
Amy W. Lim;Gerald I. Cheong;M. Lam
An affine partitioning Framework unifies many useful program transforms such as unimodular transformations (interchange, reversal, skewing), loop fusion, fission, scaling, reindexing, and statement reordering. This paper presents an algorithm, based on this unified framework, that maximizes parallelism while minimizing communication in programs with arbitrary loop nestings and affine data accesses. Our algorithm can find the optimal affine partition that maximizes the degree of parallelism with the minimum degree of synchronizations. In addition, it uses a greedy algorithm to minimize communication between loops heuristically by aligning the computation partitions for different loops, trading off excess degrees of parallelism, and choosing pipelined parallelism over doall paralleIism if it can significantly reduce the communication. The algorithm is optimal in maximizing the degrees of parallelism that require (1) no communication, (2) near-neighbor communication and a constant number of synchronizations, and (3) near-neighbor communication and O(n) synchronizations where n is the number of iterations in a loop.