MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Functional Array Fusion (2001) [14 citations — 4 self]

by Manuel M.T. Chakravarty ,  Gabriele Keller
Add To MetaCart

Abstract:

This paper introduces a new approach to compiling array algorithms in functional languages. We are specifically aiming at an efficient implementation of irregular array algorithms that are hard to implement in conventional array languages such as Fortran. We optimise the storage layout of arrays containing complex data structures and reduce the runtime of functions operating on these arrays by means of equational program transformations. In particular, this paper discusses a novel form of combinator loop fusion, which by removing intermediate structures optimises the use of the memory hierarchy. We identify a combinator named loopP that provides a general scheme for iterating over an array and that in conjunction with an array constructor replicateP is sufficient to express a wide range of array algorithms. On this basis, we define equational transformation rules that combine traversals of loopP and replicateP as well as sequences of applications of loopP into a single loopP traversal.

Citations

128 Programming parallel algorithms – Blelloch - 1996
87 Retire Fortran? A Debate Rekindled – Cann - 1992
67 Compiling collection-oriented languages onto massively parallel computers – Blelloch, Sabot - 1990
46 Prefix sums and their applications – Blelloch - 1993
44 Improving the Performance of Virtual Memory Computers – Abu-Sufah - 1979
22 Compilation of haskell array comprehensions for scientific computing – Anderson, Hudak - 1990
19 More types for nested data parallel programming – Chakravarty, Keller - 2000
16 Segmented Operations for Sparse Matrix Computation on Vector Multiprocessors – Blelloch, Heroux, et al.
6 2001, ‘Persistent Triangulations – Blelloch, Burch, et al.
5 How portable is nested data parallelism – Chakravarty, Keller - 1999
4 Expressing irregular computations in modern Fortran dialects – Chatterjee, Prins, et al. - 1998