A. Buss, A. Fidel, Harshvardhan, T.G. Smith, G. Tanase, N.L. Thomas, X. Xu, M. Bianco, N. M. Amato, L. Rauchwerger, “The STAPL pView”, Proc. 22nd International Workshop on Languages and Compilers for Parallel Computing (LCPC), Houston, TX, October 2010.
The Standard Template Adaptive Parallel Library (STAPL) is a C++ parallel programming library that provides a collection of dis- tributed data structures (pContainers) and parallel algorithms (pAlgo- rithms) and a generic methodology for extending them to provide cus- tomized functionality. STAPL algorithms are written in terms of pViews, which provide a generic access interface to pContainer data by abstract- ing common data structure concepts. Briefly, pViews allow the same pContainer to present multiple interfaces, e.g., enabling the same pMa- trix 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 pView concept and its properties. pViews generalize the iterator concept and enable paral- lelism 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 perfor- mance overhead incurred when using pViews.