Results 1 
7 of
7
Powerlist: a structure for parallel recursion
 ACM Transactions on Programming Languages and Systems
, 1994
"... Many data parallel algorithms – Fast Fourier Transform, Batcher’s sorting schemes and prefixsum – exhibit recursive structure. We propose a data structure, powerlist, that permits succinct descriptions of such algorithms, highlighting the roles of both parallelism and recursion. Simple algebraic pro ..."
Abstract

Cited by 59 (2 self)
 Add to MetaCart
Many data parallel algorithms – Fast Fourier Transform, Batcher’s sorting schemes and prefixsum – exhibit recursive structure. We propose a data structure, powerlist, that permits succinct descriptions of such algorithms, highlighting the roles of both parallelism and recursion. Simple algebraic properties of this data structure can be exploited to derive properties of these algorithms and establish equivalence of different algorithms that solve the same problem.
Defthms about zip and tie: Reasoning about powerlists in ACL2
 Univ. of Texas Comp. Sci. Tech. Rep
, 1997
"... In [Mis94], Misra introduced the powerlist data structure, which is well suited to express recursive, dataparallel algorithms. Moreover, Misra and other researchers have shown how powerlists can be used to prove the correctness of several algorithms. This success has encouraged some researchers to ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
In [Mis94], Misra introduced the powerlist data structure, which is well suited to express recursive, dataparallel algorithms. Moreover, Misra and other researchers have shown how powerlists can be used to prove the correctness of several algorithms. This success has encouraged some researchers to pursue automated proofs of theorems about powerlists[Kap97, KS95a, KS95b]. In this paper, we show how ACL2 can be used to verify theorems about powerlists. We depart from previous approaches in two significant ways. First, the powerlists we use are not the regular structures defined by Misra; that is, we do not require powerlists to be balanced trees. As we will see, this complicates some of the proofs, but on the other hand it allows us to state theorems that are otherwise beyond the language of powerlists. Second, we wish to prove the correctness of powerlist algorithms as much as possible within the logic of powerlists. Previous approaches have relied
Data Structures for Parallel Recursion
, 1997
"... vii Chapter 1 Introduction 1 1.1 Synchronous Parallel Programming . . . . . . . . . . . . . . . . . . . 4 1.2 Basic Definitions and Notations . . . . . . . . . . . . . . . . . . . . . 6 1.2.1 Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.2 Operator Priority . . . . . . . ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
vii Chapter 1 Introduction 1 1.1 Synchronous Parallel Programming . . . . . . . . . . . . . . . . . . . 4 1.2 Basic Definitions and Notations . . . . . . . . . . . . . . . . . . . . . 6 1.2.1 Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.2 Operator Priority . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2.3 Notation and Proof Style . . . . . . . . . . . . . . . . . . . . 9 1.3 Cost Calculus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3.1 Parallel Algorithm Complexity . . . . . . . . . . . . . . . . . 14 1.3.2 Parallel Computation Models . . . . . . . . . . . . . . . . . . 17 Chapter 2 Powerlists 20 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.1.1 Induction Principle for PowerLists . . . . . . . . . . . . . . . . 25 2.1.2 Data Movement and Permutation Functions . . . . . . . . . . 26 2.2 Hypercubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.3 A Cost Calculus for P...
The Correctness of the Fast Fourier Transform: A Structured Proof in ACL2
 METHODS SYST. DES., SPECIAL ISSUE ON UNITY
, 2002
"... The powerlists data structure, created by Misra in the early 90s, is well suited to express recursive, dataparallel algorithms. Misra has shown how powerlists can be used to give simple descriptions to very complex algorithms, such as the Fast Fourier Transform (FFT). Such simplicity in presentat ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
The powerlists data structure, created by Misra in the early 90s, is well suited to express recursive, dataparallel algorithms. Misra has shown how powerlists can be used to give simple descriptions to very complex algorithms, such as the Fast Fourier Transform (FFT). Such simplicity in presentation facilitates reasoning about the resulting algorithms, and in fact Misra has presented a stunningly simple proof of the correctness of the FFT. In this paper, we show how this proof can be mechanically verified using the ACL2 theorem prover. This supports Misra's belief that powerlists provide a suitable framework in which to define and reason about parallel algorithms, particularly using mechanical tools. It also illustrates the use of ACL2 in the formal verification of a distributed algorithm.
A Formalization of Powerlist Algebra in ACL2
"... Abstract. In [16], Misra introduced the powerlist data structure, which is well suited to express recursive, dataparallel algorithms. Moreover, Misra and other researchers have shown how powerlists can be used to prove the correctness of several algorithms. This success has encouraged some research ..."
Abstract
 Add to MetaCart
Abstract. In [16], Misra introduced the powerlist data structure, which is well suited to express recursive, dataparallel algorithms. Moreover, Misra and other researchers have shown how powerlists can be used to prove the correctness of several algorithms. This success has encouraged some researchers to pursue automated proofs of theorems about powerlists [7, 8, 9]. In this paper, we show how ACL2 can be used to verify theorems about powerlists. We depart from previous approaches in two significant ways. First, the powerlists we use are not the regular structures defined by Misra; that is, we do not require powerlists to be balanced trees. As we will see, this complicates some of the proofs, but on the other hand it allows us to state theorems that are otherwise beyond the language of powerlists. Second, we wish to prove the correctness of powerlist algorithms as much as possible within the logic of powerlists. Previous approaches have relied on intermediate lemmas which are unproven (indeed unstated) within the powerlist logic. However, we believe these lemmas must be formalized if the final theorems are to be used as a foundation for subsequent work, e.g., in the verification of system libraries. In our experience, some of these unproven lemmas presented the biggest obstacle to finding an automated proof. We illustrate our approach with two case studies involving Batcher sorting and prefix sums.
with PowerLists in Coq
, 2013
"... For parallel programs correctness by construction is an essential feature since debugging is almost impossible. To build correct programs by constructions is not a simple task, and usually the methodologies used for this purpose are rather theoretical based on a penandpaper style. A better approac ..."
Abstract
 Add to MetaCart
For parallel programs correctness by construction is an essential feature since debugging is almost impossible. To build correct programs by constructions is not a simple task, and usually the methodologies used for this purpose are rather theoretical based on a penandpaper style. A better approach could be based on tools and theories that allow a user to develop an efficient parallel application by implementing easily simple programs satisfying conditions, ideally automatically, proved. PowerLists theory and the variants represent a good theoretical base for an approach like this, and Coq proof assistant is a tool that could be used for automatic proofs. The goal of this paper is to model the PowerList theory in Coq, and to use this modelling to program and reason on parallel programs in Coq. This represents the first step in building a framework that ease the development of correct and verifiable parallel programs.