Home research People General Info Seminars Resources Intranet

Antal Buss, Adam Fidel, Harshvardhan, Timmie Smith, Gabriel Tanase, Nathan Thomas, Xiabing Xu, Mauro Bianco, Nancy M. Amato, Lawrence Rauchwerger, "The STAPL pView," Technical Report, TR10-001, Parasol Laboratory, Department of Computer Science, Texas A&M University, Jul 2010.
Technical Report(pdf, abstract)

The Standard Template Adaptive Parallel Library (STAPL) is a C++ parallel programming library that provides a collection of distributed data structures (pContainers) and parallel algorithms (pAlgorithms) and a generic methodology for extending them to provide customized functionality. STAPL algorithms are written in terms of views, which provide a generic access interface to pContainer data by abstracting common data structure concepts. Briefly, views allow the same pContainer to present multiple interfaces, e.g., enabling the same pMatrix to be `viewed' (or used) as a row-major or column-major matrix, or even as a vector. In this paper, we describe the STAPL view concept and its properties. STAPL views generalize the iterator concept - a view corresponds to a collection of elements and provides an ADT for the data it represents. STAPL views enable parallelism by providing random access to the elements, and support for managing the tradeoff between the expressivity of the views and the performance of the parallel execution. views trade additional parallelism enabling information for reduced genericity. We illustrate the expressivity enabled by views for several examples and examine the performance overhead incurred when using views.