Back to Search Start Over

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

Authors :
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Grégoire, Thomas
Chlipala, Adam
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Grégoire, Thomas
Chlipala, Adam
Source :
Springer Netherlands
Publication Year :
2021

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.

Details

Database :
OAIster
Journal :
Springer Netherlands
Notes :
application/pdf, English
Publication Type :
Electronic Resource
Accession number :
edsoai.on1286405303
Document Type :
Electronic Resource