5 VERSION 1.0 : February 28, 1995
7 VERSION 1.1 : March 20, 1995
9 VERSION 1.2 : May 10, 1996
11 VERSION 1.3 : June 5, 1996
13 VERSION 1.4 : November 17, 1996
15 VERSION 1.5 : May 1, 1997
17 VERSION 1.6 : November 15, 1997
19 VERSION 1.7 : August, 2001
21 VERSION 1.8 : April 2007
23 VERSION 2.0 : November, 2011
24 VERSION 2.0.1 : January, 2012
25 VERSION 2.0.2 : May, 2012
27 VERSION 2.1 : Nov, 2019
29 VERSION 2.2 : Feb 2022
31 VERSION 2.2.2 : Jan 2025
33ScaLAPACK, or Scalable LAPACK, is a library of high performance linear
34algebra routines for distributed memory computers supporting MPI.
36The complete ScaLAPACK package is freely available on netlib and
37can be obtained via the World Wide Web or anonymous ftp.
39 http://www.netlib.org/scalapack/
41=============== GitHub Repository ================
43https://github.com/Reference-ScaLAPACK/scalapack/
45==================================================
47ScaLAPACK, version 2.0, includes routines for the solution of dense,
48band, and tridiagonal linear systems of equations, condition estimation and
49iterative refinement, for LU and Cholesky factorization, matrix inversion,
50full-rank linear least squares problems, orthogonal and generalized orthogonal
51factorizations, orthogonal transformation routines, reductions to upper
52Hessenberg, bidiagonal and tridiagonal form, reduction of a symmetric-definite/
53Hermitian-definite generalized eigenproblem to standard form, the
54symmetric/Hermitian, divide-and-conquer symmetric/Hermitian, generalized
55symmetric/Hermitian and the nonsymmetric eigenproblem, and the singular value
56decomposition. With the exception of the singular value decomposition,
57most routines are available in four types: single precision real, double
58precision real, single precision complex, and double precision complex.
62- ScaLAPACK now only supports MPI.
64- The BLACS is now part of ScaLAPACK, and is compiled into the ScaLAPACK
65 library. It is no longer necessary to link against BLACS libraries.
67- Building ScaLAPACK using cmake is now supported.
69- New MRRR Symmetric Eigenvalue Problem routines are included:
70 pssyevr, pdsyevr, pcheevr and pzheevr.
72- New Nonsymmetric Eigenvalue Problem QR routines for computing
73 eigenvalues of a Hessenberg matrix are included for real matrices:
76Unless otherwise noted, the current scalapack.tgz on netlib contains
79Errata for ScaLAPACK (source code and documentation) can be found at:
81 http://www.netlib.org/scalapack/errata.html
83ScaLAPACK example programs can be found at:
85 http://www.netlib.org/scalapack/examples/
87A basic example is included in the EXAMPLE directory.
89The ScaLAPACK User's Guide for ScaLAPACK version 1.5 is available
92 http://www.ec-securehost.com/SIAM/SE04.html
94To view an HTML version of the Users' Guide for version 1.5, see:
96 http://www.netlib.org/scalapack/slug/
98A number of technical reports were written during the development of
99ScaLAPACK and published as LAPACK Working Notes by the University
100of Tennessee. These working notes are available at:
102 http://www.netlib.org/lapack/lawns/
104All questions/comments should be directed to scalapack@icl.utk.edu.
106----------------------------------------------------------------------
108The Makefiles in ScaLAPACK and its support libraries assume the basic
109directory structure below:
112 _____________________________/ | \______________________________________
113/ | | | <library.a> | SLmake.inc | | | \
116 BLACS/ EXAMPLE/ PBLAS/ REDIST/ SRC/ TESTING/ TOOLS/
122NOTE: It is assumed that the BLAS and LAPACK libraries (and MPI)
123 are available on your machine. These libraries are NOT included
124 with this distribution, and may be obtained at the sites below.
126 http://www.netlib.org/blas/
127 http://www.netlib.org/lapack/
128 http://www.mcs.anl.gov/mpi/mpich/
129 http://www.lam-mpi.org/
130 http://www.open-mpi.org/
132All ScaLAPACK routines -- driver, computational, and auxiliary -- can be
133found in the SRC/ directory. Testing routines and input files can be found
134in the TESTING/ directory. All machine-specific parameters and the locations
135of BLAS and LAPACK libraries are specified in the SCALAPACK/SLmake.inc file.
136This include file is then referenced in all subdirectory Makefiles. Once
137the include file has been modified, the entire installation process (including
138the building of testing executables) can be performed by typing ``make''
139in the top-level ScaLAPACK directory.
141ScaLAPACK uses the default (typically 4-byte) integers. With compilers that
142support it, the library can be compiled with long (8-byte) integers instead.
143This can be achived by providing the flag "-DInt=long" to the C compiler
144(or with another corresponding C type) and, simultaneously, the appropriate
145integer promotion flag (e.g. "-fdefault-integer-8" or "-i8") to the Fortran
146compiler. It is expected that the BLAS/LAPACK library linked to ScaLAPACK uses
147the 8-byte integers as well. Note that in order to run the test suite with long
148integers, it is necessary to replace the hardcoded byte sizes in the tests
149before the compilation using
151 sed -i 's/INTSZ = 4/INTSZ = 8/g' TESTING/EIG/* TESTING/LIN/*
152 sed -i 's/INTGSZ = 4/INTGSZ = 8/g' TESTING/EIG/* TESTING/LIN/*
154Even then, the tests "xssep", "xsgsep" and "xssyevr" will fail, because they
155are already written with the assumption that an integer fits into memory
156occupied by a real number, which is mostly not true for combination of default
157Fortran real numbers and long integers.
159ScaLAPACK Library Versioning
160----------------------
162From v2.2.1, the ScaLAPACK library is generated with a versioned name
163(i.e. with a shared library ABI soname) according to the following pattern:
165- We assume that the ABI updates with each MINOR release.
166- An API update (and therefore an ABI update) will be expected with any MAJOR release.
167- No ABI update should occur between PATCH releases.
169Hence with the full version in triplet form as MAJOR.MINOR.PATCH,
170the shared library soname will be libscalapack.so.MAJOR.MINOR.