HP MLIB User's Guide Vol. 2 7th Ed.
Chapter 11 Introduction to Distributed SuperLU 719
Overview
11 Introduction to Distributed SuperLU
Overview
This chapter provides an overview of HP’s implementation of Distributed
SuperLU functionality.
This implementation provides the Distributed SuperLU library designed for
distributed memory parallel computers. It was based on the public-domain
SuperLU_DIST, which was developed at the Lawrence Berkeley National Lab
and the University of California at Berkeley.
HP’s Distributed SuperLU contains two libraries: SuperLU_DIST and
SuperLU_DIST8. The only difference between SuperLU_DIST and
SuperLU_DIST8 is that SuperLU_DIST uses 4-byte integers, but
SuperLU_DIST8 uses 8-byte integers. Each library contains a set of
subroutines to solve a sparse linear system. These libraries are implemented in
ANSI C, using HP Message Passing Interface (MPI) for communication. These
libraries include routines to handle both real and complex matrices using
double precision. The parallel routine names for the double-precision real
version start with the letters “pd” (e.g. pdgstrf). The parallel routine names for
the double-precision complex version start with letters “pz” (e.g. pzgstrf).
The routines can be called directly from C applications. They may also be called
from Fortran applications, however, “bridge” routines (in C) must be supplied.
For details about creating bridge routines, please refer to Section 2.9.2 in the
SuperLU User’s Guide available at http://www.nersc.gov/~xiaoye/SuperLU.
NOTE The SuperLU_DIST8 library assumes all integers are 8 bytes in length
but array lengths should not exceed 4-byte integer values. That is,
SuperLU_DIST8 integer arrays can store any 8-byte integer value, but
the length of the arrays must be smaller than 232. This reflects the
current HP MPI 1.8 functionality.