Authors: Antal Buss, Adam Fidel, Harshvardhan, Timmie Smith, Gabriel Tanase, Nathan Thomas, Xiabing Xu, Mauro Bianco, Nancy M. Amato, Lawrence Rauchwerger

Venue: Languages and Compilers for Parallel Computing (LCPC)
DOI: 10.1007/978-3-642-19595-2_18
Link to Publication

Find PDF here: 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 pViews, which provide a generic access interface to pContainer data by abstracting common data structure concepts. Briefly, pViews allow the same pContainer to present multiple interfaces, e.g., enabling the same pMatrix to be (or used) as a row-major or column-major matrix, or even as a vector. In this paper, we describe the stapl pView concept and its properties. pViews generalize the iterator concept and enable parallelism by providing random access to, and an ADT for, collections of elements. We illustrate how pViews provide support for managing the tradeoff between expressivity and performance and examine the performance overhead incurred when using pViews.

@InProceedings{10.1007/978-3-642-19595-2_18,

author=\"Buss, Antal

and Fidel, Adam

and Harshvardhan

and Smith, Timmie

and Tanase, Gabriel

and Thomas, Nathan

and Xu, Xiabing

and Bianco, Mauro

and Amato, Nancy M.

and Rauchwerger, Lawrence\",

editor=\"Cooper, Keith

and Mellor-Crummey, John

and Sarkar, Vivek\",

title=\"The STAPL pView\",

booktitle=\"Languages and Compilers for Parallel Computing\",

year=\"2011\",

publisher=\"Springer Berlin Heidelberg\",

address=\"Berlin, Heidelberg\",

pages=\"261--275\",

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 pViews, which provide a generic access interface to pContainer data by abstracting common data structure concepts. Briefly, pViews 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 staplpView concept and its properties. pViews generalize the iterator concept and enable parallelism by providing random access to, and an ADT for, collections of elements. We illustrate how pViews provide support for managing the tradeoff between expressivity and performance and examine the performance overhead incurred when using pViews.\",

isbn=\"978-3-642-19595-2\"

}