Sca Lapack

ScaLAPACK is a version of the LinearAlgebraPackage which has been extended to allow InterProcessCommunication. This is organized via the concept of a DistributedArray? which is shared in an organized way across the memory associated with each of a grid of processors. Consequently, the size of problem which can be tackled can be larger than will fit in the memory available to any one of the processors. In such a scheme, it is not trivial to get the data installed before processing can start.

ScaLAPACK can use for InterProcessCommunication either the ParallelVirtualMachine library or an implementation of the MessagePassingInterface standard.

ScaLAPACK at present implements a subset of the methods available in the LinearAlgebraPackage.

The ScaLAPACK project home page is http://www.netlib.org/scalapack/.

ScaLapack is implemented in FortranLanguage.

The strategy used to build this is very much one of reuse. For any installation, there is a set of libraries with the high-level ones providing the interface to the user and the lower-level ones providing building blocks. Items used in ScaLAPACK include the following.

If these are put together properly, the top-level user is spared much of the detail of InterProcessCommunication.


October 2007 New versions of ScaLapack and LAPACK (LinearAlgebraPackage) are now available from this site:

http://www.netlib.org/lapack-dev/

An even more recent version is available at http://www.netlib.org/scalapack/


ScaLapack can do wonders on modern computer systems. I am using the Intel MKL libraries and running quite large matrix problems (~40000 and not sparse). The occasional case does crash. I have one at the moment which runs on 9 or 25 processors and crashes on 16 with a lot of NotaNumber values. I have coined the phrase ExtraLegsOnToaSwan for this, as there is one call which is leading to a lot of action on all the processes. I did solve this eventually - it was a code bug.

-- JohnFletcher


Some of the people behind ScaLapack are now involved with MagmaLibrary.


See also ParallelProgrammingModel


CategoryFortran


EditText of this page (last edited December 27, 2010) or FindPage with title or text search