On the parallelism of data
This article presents a data-parallel language, which has been designed around the concepts of relations and reduction operations. Many parallel machines provide hardware support for reduction operations (such as summing all elements of an array), and these operations are widely used in parallel scientific computing. My claim is that a data-parallel language can be created by coupling well-tested ideas on relations with well-tested ideas on reduction operations. This article contains a description of a data-parallel extension of C based on these ideas. The extension, called UC, has been used for a variety of applications. This article expands on its central thesis, describes UC and presents performance measurements.
Unable to display preview. Download preview PDF.
- 1. [Aus91]V. Austel: Compiling UC using source-to-source transformations. Masters report. Computer Science Department, UCLA, 1991.Google Scholar
- 2. [BA92]R. Bagrodia, V. Austel: UC User Manual. Computer Science Department, UCLA, 1992.Google Scholar
- 3. [BM91]R. Bagrodia, S. Mathur: Efficient implementation of high-level parallel programs, ASPLOS-IV, April 1991.Google Scholar
- 4. [RS87]J. R. Rose, G.L. Steele: C*: An Extended C Language for Data Parallel Programming. Technical report PL-87.5, Thinking Machines Corporation, March 1987.Google Scholar