A20: Correctness Verification and Boundary Conditions for
Chapel Iterator-Based Loop Optimization
SessionPoster Reception
Author
Event Type
ACM Student Research Competition
Poster
Reception
TimeTuesday, November 14th5:15pm -
7pm
LocationFour Seasons Ballroom
DescriptionWe explore two issues of correctness concerning
iteration space transformation techniques: data
dependencies and boundary conditions. First, we present
a data structure which automatically verifies
correctness of data dependencies for stencil
computations with transformed iteration spaces. This
further confirms the viability of Chapel iterators for
defining iteration space transformations, by
demonstrating that simple tool support can verify data
dependencies and assist debugging. Second, we explore
the performance and simplicity of three strategies for
implementing boundary conditions in transformed
iteration spaces: if statements, loop peeling, and an
array of coefficients. We find that the coefficient
array technique performs the best, often at 70 to 80
percent speed of the benchmark of ignoring the boundary
condition. If statements are not far behind, while loop
peeling performs much worse. The coefficient array and
if statements are indifferent to the transformation
technique applied, while loop peeling must be
implemented within the transformation.




