MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Piecewise execution of nested dataparallel programs (1996) [8 citations — 2 self]

Download:
Download as a PDF | Download as a PS
by Daniel W. Palmer, Jan F. Prins, Siddhartha Chatterjee, Rickard E. Faith
Languages and Compilers for Parallel Computing, volume 1033 of Lecture Notes in Computer Science
ftp://ftp.cs.unc.edu/pub/projects/proteus/reports/lcpc95.ps.gz
Add To MetaCart

Abstract:

Abstract. The technique of flattening nested data parallelism combines all the independent operations in nested apply-to-all constructs and generates large amounts of potential parallelism for both regular and irregular expressions. However, the resulting data-parallel programs can have enormous memory requirements, limiting their utility. In this paper, we presentpiecewise execution, an automatic method of partially sefializing data-parallel programs so that they achieve maximum parallelism within storage limitations. By computing large intermediate sequences in pieces, our approach requires asymptotically less memory to perform the same amount of work. By using characteristics of the underlying parallel architecture to drive the computation size, we retain effective use of a parallel machine at each step. This dramatically expands the class of nested data-parallel programs that can be executed using the flattening technique. With the addition of piecewise I/O operations, these techniques can be applied to generate out-of-core execution on large datasets.

Citations

369 Programming Be Liberated from von Neumann Style? A Functional Style and its Algebra of Programs – Backus - 1978
160 A Programming Language – Iverson - 1962
133 Data-parallel programming on MIMD computers – HATCHER, QUINN, et al. - 1991
113 NESL: A nested data-parallel language – Blelloch - 1995
74 Complete register allocation problems – Sethi - 1975
72 Compiling collection-oriented languages onto massively parallel computers – Blelloch, Sabot - 1990
60 Transforming high-level data-parallel programs into vector operations – Prins, Palmer - 1993
58 High Performance FORTRAN Language Specification Version 1.0 – Forum - 1993
30 An APL Compiler – Budd - 1988
30 Compilation and delayed evaluation in APL – Guibas, Wyatt - 1978
24 Automatic Transformation of Series Expressions into Loops – Waters - 1991
17 Compiling nested data-parallel programs for shared-memory multiprocessors – Chatterjee - 1993
17 Work-efficient nested data-parallelism – Palmer, Prins, et al. - 1995
11 Set theory as a language for program specification and programming – Schwartz - 1970
10 An APL Machine – Abrams - 1970
10 DPL: Data Parallel Library manual – Palmer - 1993
7 Efficient demand-driven evaluation. Part 1 – Pingali, Arvind - 1985
6 An introduction to Proteus, version 0.9 – Levin, Nyland - 1993
5 Cvl: a c vector library manual, version 2 – Blelloch, Chatterjee, et al. - 1993
4 A comparison of two n-body algorithms – Blelloch, Narlikar - 1994
3 Efficient demand-driven evaluation, part 2 – Pingali, Arvind - 1986
1 Data-Parallel Programming on M1MD Computers – Hatcher, Quinn - 1997