SCALAPACK 2.2.2
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
README
Go to the documentation of this file.
1=====================
2ScaLAPACK README FILE
3=====================
4
5 VERSION 1.0 : February 28, 1995
6
7 VERSION 1.1 : March 20, 1995
8
9 VERSION 1.2 : May 10, 1996
10
11 VERSION 1.3 : June 5, 1996
12
13 VERSION 1.4 : November 17, 1996
14
15 VERSION 1.5 : May 1, 1997
16
17 VERSION 1.6 : November 15, 1997
18
19 VERSION 1.7 : August, 2001
20
21 VERSION 1.8 : April 2007
22
23 VERSION 2.0 : November, 2011
24 VERSION 2.0.1 : January, 2012
25 VERSION 2.0.2 : May, 2012
26
27 VERSION 2.1 : Nov, 2019
28
29 VERSION 2.2 : Feb 2022
30
31 VERSION 2.2.2 : Jan 2025
32
33ScaLAPACK, or Scalable LAPACK, is a library of high performance linear
34algebra routines for distributed memory computers supporting MPI.
35
36The complete ScaLAPACK package is freely available on netlib and
37can be obtained via the World Wide Web or anonymous ftp.
38
39 http://www.netlib.org/scalapack/
40
41=============== GitHub Repository ================
42
43https://github.com/Reference-ScaLAPACK/scalapack/
44
45==================================================
46
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.
59
60New in version 2.0:
61
62- ScaLAPACK now only supports MPI.
63
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.
66
67- Building ScaLAPACK using cmake is now supported.
68
69- New MRRR Symmetric Eigenvalue Problem routines are included:
70 pssyevr, pdsyevr, pcheevr and pzheevr.
71
72- New Nonsymmetric Eigenvalue Problem QR routines for computing
73 eigenvalues of a Hessenberg matrix are included for real matrices:
74 pshseqr and pdhseqr.
75
76Unless otherwise noted, the current scalapack.tgz on netlib contains
77all available updates.
78
79Errata for ScaLAPACK (source code and documentation) can be found at:
80
81 http://www.netlib.org/scalapack/errata.html
82
83ScaLAPACK example programs can be found at:
84
85 http://www.netlib.org/scalapack/examples/
86
87A basic example is included in the EXAMPLE directory.
88
89The ScaLAPACK User's Guide for ScaLAPACK version 1.5 is available
90from SIAM at:
91
92 http://www.ec-securehost.com/SIAM/SE04.html
93
94To view an HTML version of the Users' Guide for version 1.5, see:
95
96 http://www.netlib.org/scalapack/slug/
97
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:
101
102 http://www.netlib.org/lapack/lawns/
103
104All questions/comments should be directed to scalapack@icl.utk.edu.
105
106----------------------------------------------------------------------
107
108The Makefiles in ScaLAPACK and its support libraries assume the basic
109directory structure below:
110
111 SCALAPACK/
112 _____________________________/ | \______________________________________
113/ | | | <library.a> | SLmake.inc | | | \
114 | | | | | | |
115 | | | | | | |
116 BLACS/ EXAMPLE/ PBLAS/ REDIST/ SRC/ TESTING/ TOOLS/
117 / Input \
118 / Files & \
119 /Executables\
120
121
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.
125
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/
131
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.
140
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
150
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/*
153
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.
158
159ScaLAPACK Library Versioning
160----------------------
161
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:
164
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.
168
169Hence with the full version in triplet form as MAJOR.MINOR.PATCH,
170the shared library soname will be libscalapack.so.MAJOR.MINOR.