Sciweavers

CASES
2009
ACM

Optimal loop parallelization for maximizing iteration-level parallelism

14 years 6 months ago
Optimal loop parallelization for maximizing iteration-level parallelism
This paper solves the open problem of extracting the maximal number of iterations from a loop that can be executed in parallel on chip multiprocessors. Our algorithm solves it optimally by migrating the weights of parallelism-inhibiting dependences on dependence cycles in two phases. First, we model dependence migration with retiming and formulate this classic loop parallelization into a graph optimization problem, i.e., one of finding retiming values for its nodes so that the minimum non-zero edge weight in the graph is maximized. We present our algorithm in three stages with each being built incrementally on the preceding one. Second, the optimal code for a loop is generated from the retimed graph of the loop found in the first phase. We demonstrate the effectiveness of our optimal algorithm by comparing with a number of representative non-optimal algorithms using a set of benchmarks frequently used in prior work. Categories and Subject Descriptors D.3.4 [Programming Languages]: P...
Duo Liu, Zili Shao, Meng Wang, Minyi Guo, Jingling
Added 28 May 2010
Updated 28 May 2010
Type Conference
Year 2009
Where CASES
Authors Duo Liu, Zili Shao, Meng Wang, Minyi Guo, Jingling Xue
Comments (0)