We present a stepwise refinement approach to develop verified parallel algorithms, down to efficient LLVM code. The resulting algorithms\u27 performance is competitive with their counterparts implemented in C/C++. Our approach is backwards compatible with the Isabelle Refinement Framework, such that existing sequential formalizations can easily be adapted or re-used. As case study, we verify a parallel quicksort algorithm, and show that it performs on par with its C++ implementation, and is competitive to state-of-the-art parallel sorting algorithms
A simple but general parallel programming language is considered. The semantics of programs is defin...
Quicksort is well-know algorithm used for sorting, making O(n log n) comparisons to sort a dataset o...
In this paper we present a simple parallel sorting algorithm and illustrate two applications. The al...
Software accompanying paper "Peter Lammich: Refinement of Parallel Algorithms down to LLVM" accepted...
We present a framework to generate verified LLVM programs from Isabelle/HOL. It is based on a code g...
Abstract In this document we present a new approach to developing sequential and parallel dense line...
This session explores, through the use of formal methods, the “intuition” used in creating a paralle...
The convergence of highly parallel many-core graphics processors with conventional multi-core proces...
The emerging discipline of algorithm engineering has primarily focussed on transforming pencil-and...
This paper discusses our implementation of Rajasekaran\u27s (l,m)-mergesort algorithm (LMM) for sort...
Abstract. The emerging discipline of algorithm engineering has primarily focussed on transforming pe...
AbstractOne of the most important open problems of parallel LTL model checking is to design an on-th...
Abstract. Parallel programming continues to be difficult and error-prone, whether starting from spec...
In this paper we present a simple parallel sorting algorithm and illustrate its application in gener...
We present work-preserving emulations with small slowdown between LogP and two other parallel models...
A simple but general parallel programming language is considered. The semantics of programs is defin...
Quicksort is well-know algorithm used for sorting, making O(n log n) comparisons to sort a dataset o...
In this paper we present a simple parallel sorting algorithm and illustrate two applications. The al...
Software accompanying paper "Peter Lammich: Refinement of Parallel Algorithms down to LLVM" accepted...
We present a framework to generate verified LLVM programs from Isabelle/HOL. It is based on a code g...
Abstract In this document we present a new approach to developing sequential and parallel dense line...
This session explores, through the use of formal methods, the “intuition” used in creating a paralle...
The convergence of highly parallel many-core graphics processors with conventional multi-core proces...
The emerging discipline of algorithm engineering has primarily focussed on transforming pencil-and...
This paper discusses our implementation of Rajasekaran\u27s (l,m)-mergesort algorithm (LMM) for sort...
Abstract. The emerging discipline of algorithm engineering has primarily focussed on transforming pe...
AbstractOne of the most important open problems of parallel LTL model checking is to design an on-th...
Abstract. Parallel programming continues to be difficult and error-prone, whether starting from spec...
In this paper we present a simple parallel sorting algorithm and illustrate its application in gener...
We present work-preserving emulations with small slowdown between LogP and two other parallel models...
A simple but general parallel programming language is considered. The semantics of programs is defin...
Quicksort is well-know algorithm used for sorting, making O(n log n) comparisons to sort a dataset o...
In this paper we present a simple parallel sorting algorithm and illustrate two applications. The al...