Download:
|
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
|