Title :
Work-efficient nested data-parallelism
Author :
Palmer, Daniel W. ; Prins, Jan F. ; Westfold, Stephen
Author_Institution :
Dept. of Comput. Sci., North Carolina Univ., Chapel Hill, NC, USA
Abstract :
An apply-to-all construct is the key mechanism for expressing data-parallelism, but data-parallel programming languages like HPF and C* significantly restrict which operations can appear in the construct. Allowing arbitrary operations substantially simplifies the expression of irregular and nested data-parallel computations. The technique of flattening nested parallelism introduced by Blelloch, compiles data-parallel programs with unrestricted apply-to-all constructs into vector operations, and has achieved notable success, particularly with irregular data-parallel programs. However, these programs must be carefully constructed so that flattening them does not lead to suboptimal work complexity due to unnecessary replication in index operations. We present new flattening transformations that generate programs with correct work complexity. Because these transformations may introduce concurrent reads in parallel indexing, we developed a randomized indexing that reduces concurrent reads while maintaining work-efficiency. Experimental results show that the new rules and implementations significantly reduce memory usage and improve performance
Keywords :
computational complexity; parallel languages; parallel programming; C*; HPF; apply-to-all construct; arbitrary operations; concurrent reads; data-parallel programming languages; flattening transformations; parallel indexing; randomized indexing; work-efficient nested data-parallelism; Aggregates; Computer languages; Computer science; Concurrent computing; Contracts; Indexing; Parallel languages; Parallel processing; Parallel programming; Set theory;
Conference_Titel :
Frontiers of Massively Parallel Computation, 1995. Proceedings. Frontiers '95., Fifth Symposium on the
Conference_Location :
McLean, VA
Print_ISBN :
0-8186-6965-9
DOI :
10.1109/FMPC.1995.380449