Next: Algorithm Descriptions Up: No Title Previous: Contents

Introduction

BlockSolve is a scalable parallel software library for the solution of large sparse, symmetric systems of linear equations. It runs on a variety of parallel architectures and can easily be ported to others. BlockSolve utilizes the Chameleon package [3] to achieve portability across architectures and compatibility with message-passing paradigms such as p4 [1] and PVM [8], as well as the message-passing primitives available on architectures such as the Intel iPSC/860. A user does not need to use the Chameleon package to use BlockSolve; all that is required is that BlockSolve be compiled with the correct options to make it compatible with the message-passing paradigm and architecture that it will be used on.

BlockSolve is primarily intended for the solution of sparse linear systems that arise from physical problems having multiple degrees of freedom at each node. For example, when the finite element method is used to solve practical problems in structural engineering, each node will typically have anywhere from 3-6 degrees of freedom associated with it. BlockSolve is written to take advantage of problems of this nature; however, it can be reasonably efficient for problems that have only one degree of freedom associated with each node, such as the three-dimensional Poisson problem. We do not require that the matrices have any particular structure other than being sparse and symmetric.

BlockSolve is intended to be used within real application codes. It has been our experience that most application codes need to solve the same linear systems with several different right-hand sides and/or solve linear systems with the same structure, but different matrix values, multiple times. We have therefore designed BlockSolve to work best within this context.

In the next section we will give a brief description of the algorithms in BlockSolve, as well as references to more information. In §3 we describe how to use BlockSolve and give descriptions of the necessary data structures. Information relevant to the installation and testing of BlockSolve is given in §4. In §5 we list some of the limitations of BlockSolve and detail our future plans.



Next: Algorithm Descriptions Up: No Title Previous: Contents


sgreen@cs.utk.edu