Results 1 -
5 of
5
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 55 (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.
Verifying Adder Circuits Using Powerlists
- University of Texas at Austin, Department of Computer Sciences
, 1994
"... We define the ripple-carry and the carry-lookahead 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 6 (0 self)
- Add to MetaCart
We define the ripple-carry and the carry-lookahead 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 Boyer-Moore 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...
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
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...
Computational Models And Program Synthesis For Parallel Out-Of-Core 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/O-intensive out-of-core applications. To address this problem, new models of parallel computation and new methods of program synthe ..."
Abstract
-
Cited by 2 (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/O-intensive out-of-core applications. To address this problem, new models of parallel computation and new methods of program synthesis for out-of-core 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...

