Design for Interoperability in stapl: pMatrices and Linear Algebra Algorithms

  • Authors:
  • Antal A. Buss;Timmie G. Smith;Gabriel Tanase;Nathan L. Thomas;Mauro Bianco;Nancy M. Amato;Lawrence Rauchwerger

  • Affiliations:
  • Parasol Lab, Dept. of Computer Science, Texas A&M University,;Parasol Lab, Dept. of Computer Science, Texas A&M University,;Parasol Lab, Dept. of Computer Science, Texas A&M University,;Parasol Lab, Dept. of Computer Science, Texas A&M University,;Parasol Lab, Dept. of Computer Science, Texas A&M University,;Parasol Lab, Dept. of Computer Science, Texas A&M University,;Parasol Lab, Dept. of Computer Science, Texas A&M University,

  • Venue:
  • Languages and Compilers for Parallel Computing
  • Year:
  • 2008
  • The STAPL parallel container framework

    Proceedings of the 16th ACM symposium on Principles and practice of parallel programming

  • The STAPL pView

    LCPC'10 Proceedings of the 23rd international conference on Languages and compilers for parallel computing

  • The STAPL plist

    LCPC'09 Proceedings of the 22nd international conference on Languages and Compilers for Parallel Computing

Quantified Score

Hi-index 0.01

Visualization

Abstract

The Standard Template Adaptive Parallel Library (stapl ) is a high-productivity parallel programming framework that extends C++ and stl with unified support for shared and distributed memory parallelism. stapl provides distributed data structures (pContainers ) and parallel algorithms (pAlgorithms ) and a generic methodology for extending them to provide customized functionality. To improve productivity and performance, it is essential for stapl to exploit third party libraries, including those developed in programming languages other than C++. In this paper we describe a methodology that enables third party libraries to be used with stapl . This methodology allows a developer to specify when these specialized libraries can correctly be used, and provides mechanisms to transparently invoke them when appropriate. It also provides support for using stapl pAlgorithms and pContainers in external codes. As a concrete example, we illustrate how third party libraries, namely BLAS and PBLAS, can be transparently embedded into stapl to provide efficient linear algebra algorithms for the stapl pMatrix , with negligible slowdown with respect to the optimized libraries themselves.