An Algebra of Scans
An Algebra of Scans
复制标题
扫描代数
DOI:
10.1007/978-3-540-27764-4_11
复制
发表时间:
2004
期刊:
影响因子:
--
通讯作者:
R. Hinze
中科院分区:
文献类型:
--
作者:
R. Hinze
A parallel prefix circuit takes n inputs x 1, x 2, ..., x n and produces the n outputs x 1, x 1 ∘ x 2, ..., x 1 ∘ x 2 ∘ ⋯ ∘ x n , where’∘’ is an arbitrary associative binary operation. Parallel prefix circuits and their counterparts in software, parallel prefix computations or scans, have numerous applications ranging from fast integer addition over parallel sorting to convex hull problems. A parallel prefix circuit can be implemented in a variety of ways taking into account constraints on size, depth, or fan-out. Traditionally, implementations are either defined graphically or by enumerating the underlying graph. Both approaches have their pros and cons. A figure if well drawn conveys the possibly recursive structure of the scan but it is not amenable to formal manipulation. A description in form of a graph while rigorous obscures the structure of a scan and is equally hard to manipulate. In this paper we show that parallel prefix circuits enjoy a very pleasant algebra. Using only two basic building blocks and four combinators all standard designs can be described succinctly and rigorously. The rules of the algebra allow us to prove the circuits correct and to derive circuit designs in a systematic manner.