Usability levels for sparse linear algebra components

  • Authors:
  • M. Sosonkina;F. Liu;R. Bramley

  • Affiliations:
  • Ames Laboratory, Iowa State University, Ames, IA 50011, U.S.A.;Indiana University, Bloomington, IN 47405, U.S.A.;Indiana University, Bloomington, IN 47405, U.S.A.

  • Venue:
  • Concurrency and Computation: Practice & Experience
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Sparse matrix computations are ubiquitous in high-performance computing applications and often are their most computationally intensive part. In particular, efficient solution of large-scale linear systems may drastically improve the overall application performance. Thus, the choice and implementation of the linear system solver are of paramount importance. It is difficult, however, to navigate through a multitude of available solver packages and to tune their performance to the problem at hand, mainly because of the plethora of interfaces, each requiring application adaptations to match the specifics of solver packages. For example, different ways of setting parameters and a variety of sparse matrix formats hinder smooth interactions of sparse matrix computations with user applications. In this paper, interfaces designed for components that encapsulate sparse matrix computations are discussed in the light of their matching with application usability requirements. Consequently, we distinguish three levels of interfaces, high, medium, and low, corresponding to the degree of user involvement in the linear system solution process and in sparse matrix manipulations. We demonstrate when each interface design choice is applicable and how it may be used to further users' scientific goals. Component computational overheads caused by various design choices are also examined, ranging from low level, for matrix manipulation components, to high level, in which a single component contains the entire linear system solver. Published in 2007 by John Wiley & Sons, Ltd. This article is a U.S. Government work and is in the public domain in the U.S.A.