Home research People General Info Seminars Resources Intranet
Abstract

Antal Buss, Timmie Smith, Gabriel Tanase, Nathan Thomas, Mauro Bianco, Nancy M. Amato, Lawrence Rauchwerger, "Design for Interoperability in STAPL: pMatrices and Linear Algebra Algorithms," Lecture Notes in Computer Science, 5335/2008:304-315, 2008.
Journal(pdf, 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.