ScaLAPACK (Scalable LAPACK) is a linear algebra library for parallel computers. Routines are available to diagonalize or solve dense and narrow band systems of linear equations.
ScaLAPACK implements block-oriented LAPACK linear algebra routines, adding a special set of communication routines to copy blocks of data between processors as required. Similar to LAPACK, a single subroutine call typically carries out the necessary computations.
ScaLAPACK installations include the following libraries: scalapack, redist, pblas, tools, blacs, blacsCinit, and blacsF77init.
An meeting with Professor Choi J.
I finally met Prof. Choi J. which a member of ScaLAPACK team on the 23th of June, 2008 and, He agreed to teach me some advanced topics in mathematics. I have been hearing about him for quite a long time.
- Written in Fortran77 with a few in C
- Covers dense and band matrices, not general sparse matrices
- Written in a Single-Program-Multiple-Data style using explicit message passing for inter-processor communication.
- Assumes matrices are laid out in a two-dimensional block cyclic decomposition.
Lastly, I heard that the Hama is worthwhile to continue the research on the basis of the ScaLAPACK’s ideas.
Some Performance Report
[http://www.netlib.org/scalapack/slug/node113.html Performance data] for Version 1.4 of ScaLAPACK on four distributed memory computers and two networks of workstations
RScaLAPACK
Note that the following result is based on an internal, rudimentary experiment.
dimension |
solve |
sla.solve (t=32) |
5000 |
real 9m2.438s, user 9m0.473s, sys 0m1.649s |
real 1m55.863s, user 0m10.638s, sys 0m2.621s |
10000 |
x |
x |
15000 |
Doesn't Work |
Doesn't Work |