| | |
Summary: Increasing Perfect Nests in Scientific Programs
Tarek S. Abdelrahman and Robert Sawaya
Department of Electrical and Computer Engineering
The University of Toronto
Toronto, Ontario, Canada M5S 3G4
tsa@eecg.toronto.edu
Abstract
Loop optimizations for data locality often require per-
fect loop nests. In this paper, we report on the extent to
which perfect nests are present in 23 applications from
4 standard benchmark suites. Further, we evaluate the
effectiveness of 3 transformations for converting imper-
fect nests into perfect ones: code sinking loop distribu-
tion and loop fusion. We find that on average, perfect
nests contribute to only 39% of the execution time of the
benchmarks. Code sinking causes the largest increase
in the relative contribution to execution time of perfect
nests (to 56%) followed by loop distribution (to 45%).
Loop fusion results in no significant improvement. We
also evaluate the overhead of applying the transforma-
|