Skip to main content

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.

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, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

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)

    Chapter  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)

    Chapter  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)

    Article  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)

    Article  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)

    Chapter  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)

    Chapter  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)

Publish with us

Policies and ethics