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.