PolyCheck: Dynamic Verification of Iteration Space Transformations on Affine Programs - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2016

PolyCheck: Dynamic Verification of Iteration Space Transformations on Affine Programs

Résumé

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.
Fichier non déposé

Dates et versions

hal-01234104 , version 1 (26-11-2015)

Identifiants

  • HAL Id : hal-01234104 , version 1

Citer

Wenlei Bao, Krishnamachari Sriram, Louis-Noël Pouchet, Fabrice Rastello, Sadayappan Ponnuswamy. PolyCheck: Dynamic Verification of Iteration Space Transformations on Affine Programs. Proceedings of the 43nd Annual {ACM SIGPLAN-SIGACT} Symposium on Principles of Programming Languages, {POPL} 2016, Jan 2016, St Petersburg, United States. ⟨hal-01234104⟩
240 Consultations
0 Téléchargements

Partager

More