Space-Filling Curves
- PDF / 8,464,742 Bytes
- 239 Pages / 565.087 x 755.008 pts Page_size
- 74 Downloads / 184 Views
Scalable Coherent Interface (SCI) SCI (Scalable Coherent Interface)
ScaLAPACK Jack Dongarra, Piotr Luszczek University of Tennessee, Knoxville, TN, USA
Definition ScaLAPACK is a library of high-performance linear algebra routines for distributed-memory messagepassing MIMD computers and networks of workstations supporting PVM [] and/or MPI [, ]. It is a continuation of the LAPACK [] project, which designed and produced analogous software for workstations, vector supercomputers, and shared-memory parallel computers.
Discussion Both LAPACK and ScaLAPACK libraries contain routines for solving systems of linear equations, least squares problems, and eigenvalue problems. The goals of both projects are efficiency (to run as fast as possible), scalability (as the problem size and number of processors grow), reliability (including error bounds), portability (across all important parallel machines), flexibility (so users can construct new routines from well-designed parts), and ease of use (by making the interface to LAPACK and ScaLAPACK look as similar as possible). Many of these goals, particularly
portability, are aided by developing and promoting standards, especially for low-level communication and computation routines. These goals have been successfully attained, limiting most machine dependencies to two standard libraries called the BLAS, or Basic Linear Algebra Subprograms [–], and BLACS, or Basic Linear Algebra Communication Subprograms [, ]. LAPACK will run on any machine where the BLAS are available, and ScaLAPACK will run on any machine where both the BLAS and the BLACS are available. The library is written in Fortran (with the exception of a few symmetric eigenproblem auxiliary routines written in C to exploit IEEE arithmetic) in a Single Program Multiple Data (SPMD) style using explicit message passing for interprocessor communication. The name ScaLAPACK is an acronym for Scalable Linear Algebra PACKage, or Scalable LAPACK. ScaLAPACK can solve systems of linear equations, linear least squares problems, eigenvalue problems, and singular value problems. ScaLAPACK can also handle many associated computations such as matrix factorizations or estimating condition numbers. Like LAPACK, the ScaLAPACK routines are based on block-partitioned algorithms in order to minimize the frequency of data movement between different levels of the memory hierarchy. The fundamental building blocks of the ScaLAPACK library are distributedmemory versions of the Level , Level , and Level BLAS, called the Parallel BLAS or PBLAS [, ], and a set of Basic Linear Algebra Communication Subprograms (BLACS) [, ] for communication tasks that arise frequently in parallel linear algebra computations. In the ScaLAPACK routines, the majority of interprocessor communication occurs within the PBLAS. So the source code of the top software layer of ScaLAPACK looks similar to that of LAPACK. ScaLAPACK contains driver routines for solving standard types of problems, computational routines to perform a distinct computational task
Data Loading...