Skip to main content

The STAPL pView

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 6548)

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 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.

Keywords

  • Execution Time
  • Graph View
  • Source Vertex
  • Abstract Data Type
  • Euler Tour

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

This research supported in part by NSF awards CRI-0551685, CCF-0833199, CCF-0830753, IIS-096053, IIS-0917266, NSF/DNDO award 2008-DN-077-ARI018-02, by the DOE NNSA under the Predictive Science Academic Alliances Program by grant DE-FC52-08NA28616, by THECB NHARP award 000512-0097-2009, by Chevron, IBM, Intel, Oracle/Sun and by Award KUS-C1-016-04, made by King Abdullah University of Science and Technology (KAUST). This research used resources of the National Energy Research Scientific Computing Center, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231. Tanase is now a Research Staff Member at IBM T.J. Watson Research Center. Bianco is now a scientist at the Swiss National Supercomputing Centre.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-19595-2_18
  • Chapter length: 15 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   69.99
Price excludes VAT (USA)
  • ISBN: 978-3-642-19595-2
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   89.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barbosa, D.M.J., Cretin, J., Foster, N., Greenberg, M., Pierce, B.C.: Matching Lenses: Alignment and View Update. In: Proc. ACM SIGPLAN Int. Conf. on Functional Programming, Baltimore, Maryland (September 2010)

    Google Scholar 

  2. Bourdev, L.: Generic Image Library. Software Developer’s Journal, 42–52 (2007)

    Google Scholar 

  3. Buss, A., Harshvardhan, Papadopoulos, I., Pearce, O., Smith, T., Tanase, G., Thomas, N., Xu, X., Bianco, M., Amato, N.M., Rauchwerger, L.: STAPL: Standard template adaptive parallel library. In: Proc. Annual Haifa Experimental Systems Conference (SYSTOR), pp. 1–10. ACM, New York (2010)

    CrossRef  Google Scholar 

  4. Buss, A., Smith, T., Tanase, G., Thomas, N., Bianco, M., Amato, N.M., Rauchwerger, L.: Design for interoperability in stapl: pMatrices and linear algebra algorithms. In: Amaral, J.N. (ed.) LCPC 2008. LNCS, vol. 5335, pp. 304–315. Springer, Heidelberg (2008)

    CrossRef  Google Scholar 

  5. Callahan, D., Chamberlain, B.L., Zima, H.P.: The Cascade High Productivity Language. In: The 9th Int. Workshop on High-Level Parallel Programming Models and Supportive Environments, Los Alamitos, vol. 26, pp. 52–60 (2004)

    Google Scholar 

  6. Charles, P., Grothoff, C., Saraswat, V., Donawa, C., Kielstra, A., Ebcioglu, K., von Praun, C., Sarkar, V.: X10: an Object-Oriented Approach to Non-Uniform Cluster Computing. In: ACM SIGPLAN Conf. on Object-Oriented Programming, Systems, Languages, and Applications, pp. 519–538. ACM Press, New York (2005)

    Google Scholar 

  7. Guo, J., Bikshandi, G., Fraguela, B.B., Padua, D.: Writing Productive Stencil Codes with Overlapped Tiling. Concurr. Comput.: Pract. Exper. 21(1), 25–39 (2009)

    CrossRef  Google Scholar 

  8. Adobe Inc.: Generic Image Library, http://opensource.adobe.com/wiki/display/gil/Generic+Image+Library

  9. JàJà, J.: An Introduction Parallel Algorithms. Addison-Wesley, Reading (1992)

    MATH  Google Scholar 

  10. Joyner, M., Chamberlain, B.L., Deitz, S.J.: Iterators in Chapel (April 2006)

    Google Scholar 

  11. Lumsdaine, A., Gregor, D., Hendrickson, B., Berry, J.W.: Challenges in Parallel Graph Processing. Parallel Processing Letters 17(1), 5–20 (2007)

    CrossRef  MathSciNet  Google Scholar 

  12. Musser, D., Derge, G., Saini, A.: STL Tutorial and Reference Guide, 2nd edn. Addison-Wesley, Reading (2001)

    Google Scholar 

  13. Ottosen, T.: Range Library Proposal. Technical report, JTC1/SC22/WG21 - The C++ Standards Committee (2005), http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1871.html

  14. Quinn, M.: Parallel Programming in C with MPI and OpenMP. McGraw-Hill, New York (2003)

    Google Scholar 

  15. Rauchwerger, L., Arzu, F., Ouchi, K.: Standard Templates Adaptive Parallel Library (STAPL). In: O’Hallaron, D.R. (ed.) LCR 1998. LNCS, vol. 1511, pp. 402–409. Springer, Heidelberg (1998)

    CrossRef  Google Scholar 

  16. Saunders, S., Rauchwerger, L.: ARMI: An Adaptive, Platform Independent Communication Library. In: Proc. ACM SIGPLAN Symp. Prin. Prac. Par. Prog (PPoPP), San Diego, California, USA, pp. 230–241 (2003)

    Google Scholar 

  17. Seymour, J.: Views - a C++ Standard Template Library Extension (January 1996), http://www.zeta.org.au/~jon/STL/views/doc/views.html

  18. Tanase, G., Buss, A., Fidel, A., Harshvardhan, P.I., Pearce, O., Smith, T., Thomas, N., Xu, X., Mourad, N., Vu, J., Bianco, M., Amato, N.M., Rauchwerger, L.: The STAPL Parallel Container Framework. In: Proc. ACM SIGPLAN Symp. Prin. Prac. Par. Prog (PPoPP), San Antonio, Texas, USA (2011)

    Google Scholar 

  19. Tanase, G., Xu, X., Buss, A., Harshvardhan, Papadopoulos, I., Pearce, O., Smith, T., Thomas, N., Bianco, M., Amato, N.M., Rauchwerger, L.: The STAPL pList. In: Gao, G.R., Pollock, L.L., Cavazos, J., Li, X. (eds.) LCPC 2009. LNCS, vol. 5898, pp. 16–30. Springer, Heidelberg (2010)

    CrossRef  Google Scholar 

  20. Thomas, N., Tanase, G., Tkachyshyn, O., Perdue, J., Amato, N.M., Rauchwerger, L.: A framework for adaptive algorithm selection in STAPL. In: Proc. ACM SIGPLAN Symp. Prin. Prac. Par. Prog (PPoPP), Chicago, IL, USA, pp. 277–288 (2005)

    Google Scholar 

  21. Weiser, M., Powell, G.: The View Template Library. In: 1st Workshop on C++ Template Programming, Erfurt, Germany (October 2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Buss, A. et al. (2011). The STAPL pView. In: Cooper, K., Mellor-Crummey, J., Sarkar, V. (eds) Languages and Compilers for Parallel Computing. LCPC 2010. Lecture Notes in Computer Science, vol 6548. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19595-2_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-19595-2_18

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-19594-5

  • Online ISBN: 978-3-642-19595-2

  • eBook Packages: Computer ScienceComputer Science (R0)