SPIRAL: Code generation for DSP transforms
Fast changing, increasingly complex, and diverse computing platforms pose central
problems in scientific computing: How to achieve, with reasonable effort, portable optimal …
problems in scientific computing: How to achieve, with reasonable effort, portable optimal …
End-to-end translation validation for the halide language
B Clément, A Cohen - Proceedings of the ACM on Programming …, 2022 - dl.acm.org
This paper considers the correctness of domain-specific compilers for tensor programming
languages through the study of Halide, a popular representative. It describes a translation …
languages through the study of Halide, a popular representative. It describes a translation …
Equivalence checking of static affine programs using widening to handle recurrences
Designers often apply manual or semi-automatic loop and data transformations on array-
and loop-intensive programs to improve performance. It is crucial that such transformations …
and loop-intensive programs to improve performance. It is crucial that such transformations …
Polycheck: Dynamic verification of iteration space transformations on affine programs
High-level compiler transformations, especially loop transformations, are widely recognized
as critical optimizations to restructure programs to improve data locality and expose …
as critical optimizations to restructure programs to improve data locality and expose …
Automatic equivalence checking of programs with uninterpreted functions and integer arithmetic
Proving equivalence of programs has several important applications, including algorithm
recognition, regression checking, compiler optimization verification and validation, and …
recognition, regression checking, compiler optimization verification and validation, and …
Self-Supervised Learning to Prove Equivalence Between Straight-Line Programs via Rewrite Rules
We target the problem of automatically synthesizing proofs of semantic equivalence
between two programs made of sequences of statements. We represent programs using …
between two programs made of sequences of statements. We represent programs using …
Verification of loop and arithmetic transformations of array-intensive behaviors
Loop transformation techniques along with arithmetic transformations are applied
extensively on array and loop intensive behaviors in design of area/energy efficient systems …
extensively on array and loop intensive behaviors in design of area/energy efficient systems …
Functional equivalence checking for verification of algebraic transformations on array-intensive source code
The development of energy and performance-efficient embedded software increasingly
relies on the application of complex transformations on critical parts of the source code …
relies on the application of complex transformations on critical parts of the source code …
Verification of source code transformations by program equivalence checking
Typically, a combination of manual and automated transformations is applied when
algorithms for digital signal processing are adapted for energy and performance-efficient …
algorithms for digital signal processing are adapted for energy and performance-efficient …
Transitive closures of affine integer tuple relations and their overapproximations
The set of paths in a graph is an important concept with many applications in system
analysis. In the context of integer tuple relations, which can be used to represent possibly …
analysis. In the context of integer tuple relations, which can be used to represent possibly …