Results 1 
6 of
6
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 65 (2 self)
 Add to MetaCart
(Show Context)
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.
Verifying Adder Circuits Using Powerlists
 University of Texas at Austin, Department of Computer Sciences
, 1994
"... We define the ripplecarry and the carrylookahead adder circuits in the powerlist notation and we use the powerlist algebra to prove that these circuits correctly implement addition for natural numbers represented as bit vectors. 0 Introduction As hardware designs increase in complexity it is less ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
(Show Context)
We define the ripplecarry and the carrylookahead adder circuits in the powerlist notation and we use the powerlist algebra to prove that these circuits correctly implement addition for natural numbers represented as bit vectors. 0 Introduction As hardware designs increase in complexity it is less possible to reason informally about their behaviour, or to exhaustively test all possible behaviours. Several researchers have used formal systems for hardware verification, such as the BoyerMoore logic [2], HOL [1], Nuprl [5] and Ruby [3]. We propose the use of a new data structure, the powerlist , for circuit verification. We show how powerlists may be used to express circuits and reason about their correctness. The powerlist data structure has been recently introduced by Misra [6]. It provides a notation for compactly expressing synchronous parallel computations in a functional programming style and an algebra within which properties of such computations can be proven. The notation allo...
Computational Models And Program Synthesis For Parallel OutOfCore Computation
, 1996
"... As the performance gap between processors and memory systems continues to increase, memory and I/O subsystems are increasingly becoming the major bottleneck for many I/Ointensive outofcore applications. To address this problem, new models of parallel computation and new methods of program synthe ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
As the performance gap between processors and memory systems continues to increase, memory and I/O subsystems are increasingly becoming the major bottleneck for many I/Ointensive outofcore applications. To address this problem, new models of parallel computation and new methods of program synthesis for outofcore computation are needed. This thesis presents our contributions in these two areas. We first introduce the concept of resource metrics to characterize various models of parallel compu...
Mapping a Functional Notation for Parallel Programs onto Hypercubes
 Information Processing Letters
, 1995
"... The theory of powerlists was recently introduced by Jayadev Misra [7]. Powerlists can be used to specify and verify certain parallel algorithms, using a notation similar to functional programming languages. In contrast to sequential languages the powerlist notation has constructs for expressing bala ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
(Show Context)
The theory of powerlists was recently introduced by Jayadev Misra [7]. Powerlists can be used to specify and verify certain parallel algorithms, using a notation similar to functional programming languages. In contrast to sequential languages the powerlist notation has constructs for expressing balanced divisions of lists. We study how Prefix Sum, a fundamental parallel algorithm, can be tailored for efficient execution on hypercubic architectures. Then we derive a strategy for mapping most powerlist functions to efficient programs for hypercubic architectures. Keywords: Program derivation; Parallel algorithms; Functional programming; Programming calculi; Hypercubes; Prefix sum 1 Introduction The field of parallel algorithm design has become a major area of research over the last decade. However, the field has yet to develop a standard language for expressing these algorithms. The Powerlist notation, introduced by Jayadev Misra [7], gives us a succinct representation of a certain clas...
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...
InductionOriented Formal Verification in Symmetric Interconnection Networks
"... Abstract. The framework of this paper is the formal specification and proof of applications distributed on symmetric interconnection networks, e.g. the torus or the hypercube. The algorithms are distributed over the nodes of the networks and use wellidentified communication primitives. Using the no ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. The framework of this paper is the formal specification and proof of applications distributed on symmetric interconnection networks, e.g. the torus or the hypercube. The algorithms are distributed over the nodes of the networks and use wellidentified communication primitives. Using the notion of Cayley graph, we model the networks and their communications in the inductive theorem prover Nqthm. Within this environment, we mechanically perform correctness verifications with a specific invariant oriented method. We illustrate our approach with the verification of two distributed algorithms implemented on the hypercube. 1