Deriving Correct High-Performance Algorithms

10/11/2017
by   Devangi N. Parikh, et al.
0

Dijkstra observed that verifying correctness of a program is difficult and conjectured that derivation of a program hand-in-hand with its proof of correctness was the answer. We illustrate this goal-oriented approach by applying it to the domain of dense linear algebra libraries for distributed memory parallel computers. We show that algorithms that underlie the implementation of most functionality for this domain can be systematically derived to be correct. The benefit is that an entire family of algorithms for an operation is discovered so that the best algorithm for a given architecture can be chosen. This approach is very practical: Ideas inspired by it have been used to rewrite the dense linear algebra software stack starting below the Basic Linear Algebra Subprograms (BLAS) and reaching up through the Elemental distributed memory library, and every level in between. The paper demonstrates how formal methods and rigorous mathematical techniques for correctness impact HPC.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/20/2018

A Simple Methodology for Computing Families of Algorithms

Discovering "good" algorithms for an operation is often considered an ar...
research
04/06/2023

Formal Derivation of LU Factorization with Pivoting

The FLAME methodology for deriving linear algebra algorithms from specif...
research
03/01/2017

Systematic Generation of Algorithms for Iterative Methods

The FLAME methodology makes it possible to derive provably correct algor...
research
02/22/2016

Recursive Algorithms for Dense Linear Algebra: The ReLAPACK Collection

To exploit both memory locality and the full performance potential of hi...
research
07/27/2022

Correct Compilation of Semiring Contractions

We introduce a formal operational semantics that describes the fused exe...
research
04/14/2022

A Formally Certified End-to-End Implementation of Shor's Factorization Algorithm

Quantum computing technology may soon deliver revolutionary improvements...
research
01/10/2023

A Formal Disproof of the Hirsch Conjecture

The purpose of this paper is the formal verification of a counterexample...

Please sign up or login with your details

Forgot password? Click here to reset