skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: PolyCheck: Dynamic Verification of Iteration Space Transformations on Affine Programs

Conference ·

High-level compiler transformations, especially loop transformations, are widely recognized as critical optimizations to restructure programs to improve data locality and expose parallelism. Guaranteeing the correctness of program transformations is essential, and to date three main approaches have been developed: proof of equivalence of affine programs, matching the execution traces of programs, and checking bit-by-bit equivalence of the outputs of the programs. Each technique suffers from limitations in either the kind of transformations supported, space complexity, or the sensitivity to the testing dataset. In this paper, we take a novel approach addressing all three limitations to provide an automatic bug checker to verify any iteration reordering transformations on affine programs, including non-affine transformations, with space consumption proportional to the original program data, and robust to arbitrary datasets of a given size. We achieve this by exploiting the structure of affine program control- and data-flow to generate at compile-time lightweight checker code to be executed within the transformed program. Experimental results assess the correctness and effectiveness of our method, and its increased coverage over previous approaches.

Research Organization:
Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC05-76RL01830
OSTI ID:
1253874
Report Number(s):
PNNL-SA-113963; KJ0402000
Resource Relation:
Conference: ACM Symposium on Principles of Programming Languages(POPL 2016), January 20-22, 2016, St. Petersburg, Florida, 539-554
Country of Publication:
United States
Language:
English

Similar Records

XPRESS: eXascale PRogramming Environment and System Software
Technical Report · Fri Jul 14 00:00:00 EDT 2017 · OSTI ID:1253874

Using affine closure to find legal reordering transformations
Journal Article · Tue Aug 01 00:00:00 EDT 1995 · International Journal of Parallel Programming · OSTI ID:1253874

Data Locality Enhancement of Dynamic Simulations for Exascale Computing (Final Report)
Technical Report · Fri Nov 29 00:00:00 EST 2019 · OSTI ID:1253874