ISIS++ as a Solution Framework which Promotes Component Integration

Robert L. Clay [1], Alan B. Williams [1], Kyran D. Mish [2]

[1] Sandia National Laboratories, Livermore, California [2] Dept. of Mechanical Engr., California State University, Chico


Abstract

ISIS++ (Iterative Scalable Implicit Solver in C++) is an object-oriented solution framework suitable for solving large systems of sparse equations on modern supercomputers or workstations. The ISIS++ framework includes a wide range of Krylov solvers, and was specifically designed to facilitate large-scale reuse of code from new and existing solvers written in both object-oriented and procedural languages such as C++, C, and Fortran. This portable solution framework was developed under Department of Energy funding, and is now available in the public domain. We report on the issues and results of integrating "external" software components into the ISIS++ solver framework. The abstractions are considered in the context of support for integration of components from other solver packages. We report on results of integration of components (matrix, vector, preconditioner, and solver methods) from Aztec, SPARSKIT, SuperLU, and preconditioners from CASC's method library. We analyze both the software engineering and design aspects of this integration, as well as the performance implications of this component integration.