Back to Search Start Over

Mostly Automated Formal Verification of Loop Dependencies with Applications to Distributed Stencil Algorithms.

Authors :
Grégoire, Thomas
Chlipala, Adam
Source :
Journal of Automated Reasoning; Feb2019, Vol. 62 Issue 2, p193-213, 21p
Publication Year :
2019

Abstract

The class of stencil programs involves repeatedly updating elements of arrays according to fixed patterns, referred to as stencils. Stencil problems are ubiquitous in scientific computing and are used as an ingredient to solve more involved problems. Their high regularity allows massive parallelization. Two important challenges in designing such algorithms are cache efficiency and minimizing the number of communication steps between nodes. In this paper, we introduce a mathematical framework for a crucial aspect of formal verification of both sequential and distributed stencil algorithms, and we describe its Coq implementation. We present a domain-specific embedded programming language with support for automating the most tedious steps of proofs that nested loops respect dependencies, applicable to sequential and distributed examples. Finally, we evaluate the robustness of our library by proving the dependency-correctness of some real-world stencil algorithms, including a state-of-the-art cache-oblivious sequential algorithm, as well as two optimized distributed kernels. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
01687433
Volume :
62
Issue :
2
Database :
Complementary Index
Journal :
Journal of Automated Reasoning
Publication Type :
Academic Journal
Accession number :
134585322
Full Text :
https://doi.org/10.1007/s10817-018-9451-y