The Design of Sparse Direct Solvers Using Object-oriented Techniques

Abstract

We describe our experience in designing object oriented software for sparse direct solvers. We discuss Spinole, a library of sparse matrix ordering codes, and Oblio, a package that implements the factorization and triangular solution steps of a direct solver. We discuss the goals of our design: managing complexity, simplicity of interface, flexibility, extensibility, safety, and efficiency. High performance is obtained by carefully implementing the computationally intensive kernels and by making several tradeoffs to balance the conflicting demands of efficiency and good software design. Some of the missteps that we made in the course of this work are also described.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 01, 1999
Accession Number
ADA368687

Entities

People

  • Alex Pothen
  • Florin Dobrian
  • Gary Kumfert

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • C Programming Language
  • Computational Fluid Dynamics
  • Computations
  • Computer Programming
  • Computer Science
  • Computers
  • Decoupling
  • Equations
  • Fluid Dynamics
  • Language
  • Lessons Learned
  • Programming Languages
  • Software Design
  • Software Testing
  • Sparse Matrix
  • Two Dimensional

Fields of Study

  • Computer science

Readers

  • Linear Algebra
  • Parallel and Distributed Computing.