next up previous
Next: Approximating the Permanent Up: Mathematical Algorithms and Previous: Parallel Helmholtz Solvers

Object Oriented Numerical Software

Roldan Pozo, ACMD
Jack Dongarra, Oak Ridge National Laboratory
Karin A. Remington, Scientific Computing Environments Division
Andrew Lumsdaine, University of Notre Dame

The cost of large-scale software development and maintenance, particularly for scientific computing on high performance and parallel architectures, has been steadily increasing. Furthermore, performance tuning of numerical programs is becoming more complex, while application users are demanding broader portability across constantly-changing architectures. At the same time, large investments made in parallel and supercomputers put a strong emphasis on efficiency, so as to not waste a valuable resource. As a result, much research has focused on issues of portability, flexibility, performance, and software reuse for mathematical software development.

At NIST researchers have been working in object-oriented numerical computing to design and develop reusable software components for solving a problem which is at the core of much of scientific computing: systems of linear equations. The ongoing research is focusing on several areas:

In industry and research, there has already been much interest in object oriented technology for reducing the high cost of numerical software development and maintenance. Over one thousand copies of LAPACK++, for example, have been requested over the Internet by universities, academic research centers, and high technology companies. Concurrent Technologies Corporation is one such company which is testing an early version of the SparseLib++ and IML++ libraries to solve image processing problems arising in neurosurgery. Other developers are interested in distributed memory versions of SparseLib++ for solving large scale linear systems on parallel architectures such as the Cray T3D.



next up previous
Next: Approximating the Permanent Up: Mathematical Algorithms and Previous: Parallel Helmholtz Solvers