A20: Correctness Verification and Boundary Conditions for Chapel Iterator-Based Loop Optimization
Student: Daniel A. Feshbach (Haverford College)
Supervisor: David G. Wonnacott (Haverford College)
Abstract: We 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.
ACM-SRC Semi-Finalist: no
Poster: pdf
Two-page extended abstract: pdf
Poster Index