ACM Home Page
Please provide us with feedback. Feedback
Much ado about two (pearl): a pearl on parallel prefix computation
Full text PdfPdf (192 KB)
Source
Annual Symposium on Principles of Programming Languages archive
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
San Francisco, California, USA
SESSION: Session 1 table of contents
Pages 29-35  
Year of Publication: 2008
ISBN:978-1-59593-689-9
Also published in ...
Author
Janis Voigtländer  Technische Universität Dresden, 01062 Dresden, Germany
Sponsors
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 80,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1328438.1328445
What is a DOI?

ABSTRACT

This pearl develops a statement about parallel prefix computation in the spirit of Knuth's 0-1-Principle for oblivious sorting algorithms. It turns out that 0-1 is not quite enough here. The perfect hammer for the nails we are going to drive in is relational parametricity.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
G. E. Blelloch. Prefix sums and their applications. In J. H. Reif, editor, Synthesis of Parallel Algorithms, pages 35--60. Morgan Kaufmann, 1993.
 
2
S. Böhme. Free theorems for sublanguages of Haskell. Master's thesis, Technische Universität Dresden, 2007a.
 
3
S. Böhme. Much ado about two. Formal proof development. In G. Klein, T. Nipkow, and L. Paulson, editors, The Archive of Formal Proofs. http://afp.sf.net/entries/MuchAdoAboutTwo.shtml, 2007b.
 
4
A. Bove and T. Coquand. Formalising bitonic sort in type theory. In Types for Proofs and Programs, TYPES 2004, Revised Selected Papers, volume 3839 of LNCS, pages 82--97. Springer-Verlag, 2006.
5
6
 
7
N. A. Day, J. Launchbury, and J. Lewis. Logical abstractions in Haskell. In Haskell Workshop, Proceedings. Technical Report UU--CS--1999--28, Utrecht University, 1999.
 
8
P. Dybjer, Q. Haiyan, and M. Takeyama. Verifying Haskell programs by combining testing, model checking and interactive theorem proving. Information & Software Technology, 46(15):1011--1025, 2004.
 
9
 
10
R. Hinze. An algebra of scans. In Mathematics of Program Construction, Proceedings, volume 3125 of LNCS, pages 186--210. Springer--Verlag, 2004.
11
 
12
 
13
14
 
15
 
16
T. Lynch and E. Swartzlander. The redundant cell adder. In Computer Arithmetic, Proceedings, pages 165--170. IEEE Press, 1991.
 
17
T. Nipkow, L. C. Paulson, and M. Wenzel. Isabelle/HOL - A Proof Assistant for Higher-Order Logic, volume 2283 of LNCS. Springer-Verlag, 2002.
 
18
S. L. Peyton Jones, editor. Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, 2003.
 
19
J. C. Reynolds. Types, abstraction and parametric polymorphism. In Information Processing, Proceedings, pages 513--523. Elsevier Science Publishers B. V., 1983.
 
20
M. Sheeran. Finding regularity: Describing and analysing circuits that are not quite regular. In Correct Hardware Design and Verification Methods, Proceedings, volume 2860 of LNCS, pages 4--18. Springer-Verlag, 2003.
 
21
M. Sheeran. Hardware design and functional programming: a perfect match. Journal of Universal Computer Science, 11(7):1135--1158, 2005.
 
22
M. Sheeran. Searching for prefix networks to fit in a context using a lazy functional programming language. Talk at Hardware Design and Functional Languages, 2007.
 
23
J. Sklansky. Conditional-sum addition logic. IRE Transactions on Electronic Computers, EC-9(6):226--231, 1960.
 
24
H. S. Stone and P. M. Kogge. A parallel algorithm for the efficient solution of a general class of recurrence equations. IEEE Transactions on Computers, 22(8):786--793, 1973.
25