Realizing parallel reduction operation in Sisal 1.2. Revision 1
- Lawrence Livermore National Lab., CA (United States). Computer Research Group
Often the tasks of a parallel job compute sets of values that are reduced to a single value or gathered to build an aggregate structure. Since reductions may introduce dependencies, most languages separate computation and reduction. For example, Fortran 90 and HPF provide a rich set of predefined reduction functions but only for extant arrays. Sisal 1.2 is unique in that it supports seven reduction operations as a natural consequence of loop expressions. These reductions are limited and cannot express the variety of reduction operations found in parallel programs. In this paper, the authors present compilation techniques that recognize pairs of computation-reduction expressions in Sisal 1.2 and fuse them into single parallel loops. This optimization overlaps computation and reduction, reduces runtime overhead, and reduces storage requirements. They describe an implementation and they present performance numbers that demonstrate the utility of their techniques.
- Research Organization:
- Lawrence Livermore National Lab., CA (United States)
- Sponsoring Organization:
- USDOE, Washington, DC (United States)
- DOE Contract Number:
- W-7405-ENG-48
- OSTI ID:
- 10177556
- Report Number(s):
- UCRL-JC--116015-Rev.1; CONF-9408147--1-Rev.1; ON: DE94017524
- Country of Publication:
- United States
- Language:
- English
Similar Records
SISAL 1.2: high-performance applicative computing [Book Chapter]
SISAL 1. 2: An alternative to FORTRAN for shared memory multiprocessors