Results 1 
2 of
2
The Matrix Template Library: A Unifying Framework for Numerical Linear Algebra
 In Parallel Object Oriented Scientific Computing. ECOOP
, 1998
"... . We present a uni#ed approach for expressing high performance numerical linear algebra routines for a class of dense and sparse matrix formats and shapes. As with the Standard Template Library #7#, we explicitly separate algorithms from data structures through the use of generic programming tec ..."
Abstract

Cited by 11 (2 self)
 Add to MetaCart
(Show Context)
. We present a uni#ed approach for expressing high performance numerical linear algebra routines for a class of dense and sparse matrix formats and shapes. As with the Standard Template Library #7#, we explicitly separate algorithms from data structures through the use of generic programming techniques. We conclude that such an approach does not hinder high performance. On the contrary, writing portable high performance codes is actually enabled with such an approach because the performance critical code sections can be isolated from the algorithms and the data structures. 1 Introduction The traditional approach to writing basic linear algebra routines is a combinatorial a#air. There are typically four precision types that need to be handled #single and double precision real, single and double precision complex#, several dense storage types #general, banded, packed#, a multitude of sparse storage types #the Sparse BLAS Standard Proposal includes 13 #1##, as well as row and co...
Generic Programming for High Performance Numerical Linear Algebra
, 1998
"... We present a generic programming methodology for expressing data structures and algorithms for highperformance numerical linear algebra. As with the Standard Template Library #14#, our approach explicitly separates algorithms from data structures, allowing a single set of numerical routines to o ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
(Show Context)
We present a generic programming methodology for expressing data structures and algorithms for highperformance numerical linear algebra. As with the Standard Template Library #14#, our approach explicitly separates algorithms from data structures, allowing a single set of numerical routines to operate with a wide variety of matrix types, including sparse, dense, and banded. Through the use of C++ template programming, in conjunction with modern optimizing compilers, this generality does not come at the expense of performance. In fact, writing portable highperformance codes is actually enabled through the use of generic programming because performance critical code sections can be concentrated into a small number of basic kernels. Two libraries based on our approach are described. The Matrix Template Library #MTL# is a highperformance library providing comprehensive linear algebra functionality. The IterativeTemplate Library, based on MTL, extends the generic programming a...