Realizing parallel reduction operations in Sisal 1.2
- Lawrence Livermore National Lab., CA (United States). Computer Research Group
A parallel job consists of sets of concurrent and sequential tasks. Often the tasks compute sets of values that are reduced to a single value or gathered to build an aggregate structure. Since reductions may introduced 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 reduction is a natural consequence of loop expressions. Unfortunately, the language supports only seven reduction operations. In this paper, the authors present compilation techniques that recognize pairs of for expressions in Sisal 1.2 as computation-reduction expressions. The techniques work without any language or intermediate form extensions; however, they recognize only certain forms. They describe how they implement pairs of computation-reduction expressions as single parallel loops, 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:
- 10177305
- Report Number(s):
- UCRL-JC--116015; CONF-9408147--1; ON: DE94017525
- 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