The Matrix Template Library: A Generic Programming Approach to High Performance Numerical Linear Algebra

  • Authors:
  • Jeremy G. Siek;Andrew Lumsdaine

  • Affiliations:
  • -;-

  • Venue:
  • ISCOPE '98 Proceedings of the Second International Symposium on Computing in Object-Oriented Parallel Environments
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a unified approach for building high-performance numerical linear algebra routines for large classes of dense and sparse matrices. As with the Standard Template Library [1], we separate algorithms from data structures using generic programming techniques. Such an approach does not hinder high performance; rather, writing portable high-performance codes is enabled because the performance-critical code can be isolated from the algorithms and data structures. We address the performance portability problem for architecture-dependent algorithms such as matrix-matrix multiply. Recently, code generation systems, such as PHiPAC [2] and ATLAS [3], have allowed algorithms to be tuned to particular architectures. Our approach is to use template metaprograms [4] to directly express performance-critical, architecture-dependent, sections of code.