NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Press Enter or click the Search button to begin your search.

Back to Results
An object-oriented approach to nested data parallelismThis paper describes an implementation technique for integrating nested data parallelism into an object-oriented language. Data-parallel programming employs sets of data called 'collections' and expresses parallelism as operations performed over the elements of a collection. When the elements of a collection are also collections, then there is the possibility for 'nested data parallelism.' Few current programming languages support nested data parallelism however. In an object-oriented framework, a collection is a single object. Its type defines the parallel operations that may be applied to it. Our goal is to design and build an object-oriented data-parallel programming environment supporting nested data parallelism. Our initial approach is built upon three fundamental additions to C++. We add new parallel base types by implementing them as classes, and add a new parallel collection type called a 'vector' that is implemented as a template. Only one new language feature is introduced: the 'foreach' construct, which is the basis for exploiting elementwise parallelism over collections. The strength of the method lies in the compilation strategy, which translates nested data-parallel C++ into ordinary C++. Extracting the potential parallelism in nested 'foreach' constructs is called 'flattening' nested parallelism. We show how to flatten 'foreach' constructs using a simple program transformation. Our prototype system produces vector code which has been successfully run on workstations, a CM-2, and a CM-5.
Document ID
19950003591
Acquisition Source
Legacy CDMS
Document Type
Conference Paper
Authors
Sheffler, Thomas J.
(Research Inst. for Advanced Computer Science Moffett Field, CA, United States)
Chatterjee, Siddhartha
(Research Inst. for Advanced Computer Science Moffett Field, CA, United States)
Date Acquired
September 6, 2013
Publication Date
July 1, 1994
Subject Category
Computer Systems
Report/Patent Number
NAS 1.26:196378
RIACS-TP-94-11
NASA-CR-196378
Report Number: NAS 1.26:196378
Report Number: RIACS-TP-94-11
Report Number: NASA-CR-196378
Meeting Information
Meeting: Frontiers 1995
Location: McLean, VA
Country: United States
Start Date: February 6, 1995
End Date: February 9, 1995
Accession Number
95N10003
Funding Number(s)
CONTRACT_GRANT: NAS2-13721
Distribution Limits
Public
Copyright
Work of the US Gov. Public Use Permitted.
No Preview Available