LAPACK Working Note 81
Quick Installation Guide for LAPACK on Unix Systems
1
Authors and Jack Dongarra
Department of Computer Science
University of Tennessee
Knoxville, Ten nessee 37996-1301
REVISED: VERSION 3.1.1, February 2007
Abstract
This working note d escribes how to install, and test version 3.1.1 of LAPACK, a linear
algebra package for high-performance computers, on a Unix System. The timing routines
are not actually included in release 3.1.1, and that part of the LAWN refers to release 3.0.
Non-Unix installation instructions and further details of the testing and timing suites are
only contained in LAPACK Working Note 41, and not in this abbreviated version.
1
This work was supported by NSF Grant No. ASC-8715728 and NSF Grant No. 0444486
1
Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Revisions Since the First Public Release . . . . . . . . . . . . . . . . . . . . 4
3 File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4 Overview of Tape Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1 LAPACK Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 Level 1, 2, and 3 BLAS . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3 LAPACK Test Routines . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.4 LAPACK Timing Routines (for LAPACK 3.0 and before) . . . . . . 7
5 Installing LAPACK on a Unix System . . . . . . . . . . . . . . . . . . . . . 7
5.1 Untar the File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.2 Copy and edit the file LAPACK/make.inc.example to LAPACK/make.inc 8
5.3 Edit the file LAPACK/Makefile . . . . . . . . . . . . . . . . . . . . . 9
6 Fur th er Details of the Installation Process . . . . . . . . . . . . . . . . . . . 10
6.1 Test and Install the Machine-Dependent Routines. . . . . . . . . . . 10
6.1.1 Installing LSAME . . . . . . . . . . . . . . . . . . . . . . . 10
6.1.2 Installing SLAMCH and DLAMCH . . . . . . . . . . . . . 11
6.1.3 Installing SECOND and DSECND . . . . . . . . . . . . . . 12
6.1.4 Testing IEEE arithmetic and ILAENV . . . . . . . . . . . 13
6.2 Create the BLAS Library . . . . . . . . . . . . . . . . . . . . . . . . 14
6.3 Run the BLAS Test Programs . . . . . . . . . . . . . . . . . . . . . 14
6.4 Create the LAPACK Library . . . . . . . . . . . . . . . . . . . . . . 15
6.5 Create the Test Matrix Generator Libr ary . . . . . . . . . . . . . . . 15
6.6 Run the LAPACK Test Programs . . . . . . . . . . . . . . . . . . . 15
6.6.1 Testing the Lin ear Equations Routines . . . . . . . . . . . 15
6.6.2 Testing the Eigensystem Routines . . . . . . . . . . . . . . 16
6.7 Run the LAPACK Timing Programs (For LAPACK 3.0 and before) 17
6.7.1 Timing the Linear Equations Routines . . . . . . . . . . . 18
6.7.2 Timing the BLAS . . . . . . . . . . . . . . . . . . . . . . . 19
6.7.3 Timing the Eigensystem Routines . . . . . . . . . . . . . . 19
6.8 Send the Results to Tennessee . . . . . . . . . . . . . . . . . . . . . 21
6.9 Get support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
A Caveats 22
1 LAPACK/make.inc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2 ETIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2
3 ILAENV and IEEE-754 compliance . . . . . . . . . . . . . . . . . . . . . . . 22
4 Lack of /tmp space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5 BLAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6 Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7 Compiling testing/timing drivers . . . . . . . . . . . . . . . . . . . . . . . . 24
8 IEEE arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
9 Timing programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3
1 Introduction
LAPACK is a linear algebra libr ary for high-performance computers. The library in-
cludes Fortran 77 subroutines for the analysis and solution of systems of simultaneous linear
algebraic equations, linear least-squares problems, and matrix eigenvalue problems. Our ap-
proach to achieving high efficiency is based on the use of a standard set of Basic Linear
Algebra Subprograms (the BLAS), which can be optimized for each computing environ-
ment. By confining most of the computational work to the BLAS, the subroutines should
be transportable and efficient across a wide range of computers.
This working note describes how to install, test, an d time this release of LAPACK on a
Unix System.
The instructions for installing, testing, and timing
2
are designed for a person wh ose
responsibility is the maintenance of a mathematical software library. We assume the in s taller
has experience in compiling and running Fortran programs and in creating object libraries.
The installation process involves untarring the file, creating a set of libraries, and compiling
and runnin g the test and timing programs
2
.
Section 3 describes how the files are organized in the file, and Section 4 gives a general
overview of the parts of the test package. Step-by-step instructions app ear in Section 5.
For users desiring additional information, please refer to LAPACK Working Note 41.
Append ix A, entitled “Caveats”, is a compendium of the known problems from our own
experiences, with suggestions on how to overcome them.
It is strongly advised that the user read Appendix A before proceeding with
the installation process.
2 Revisions Since the First Public Release
Since its first public release in February, 1992, LAPACK has had several updates, which
have encompassed the introduction of new routines as well as extending the functionality
of existing routines. The fi rst update, June 30, 1992, was version 1.0a; the second update,
October 31, 1992, was version 1.0b; the third update, March 31, 1993, was version 1.1;
version 2.0 on September 30, 1994, coincided with the release of the Second Edition of the
LAPACK Users’ Guide; version 3.0 on June 30, 1999 coincided with the release of the Third
Edition of the LAPACK Users’ Guide; version 3.1 was released on November, 2006. and
finally version 3.1.1 was released on November, 2007.
All LAPACK routines reflect th e current version number with the date on the routine
indicating when it was last modified. For more information on revisions in the latest release,
please refer to the revisions.info file in the lapack directory on netlib.
http://www.netlib.org/lapack/revisions.info
3 File Format
The software for LAPACK is d istributed in the form of a gzipped tar file (via anonymous
ftp or th e World Wide Web), which contains the Fortran source for LAPACK, the Basic
2
timing are only provided in LAPACK 3.0 and before
4
LAPACK
INSTALL
Machine depen-
dent routines
BLAS
SRC
L
L
Level 1 BLAS
Level 2 BLAS
Level 3 BLAS
TESTING
L
L
BLAS2 & 3 test
routines
SRC
LAPACK routines
& auxiliary routines
TESTING
L
L
L
L
L
LIN
L
L
MATGEN
L
L
EIG
L
L
Linear eqn.
test routines
Test matrix
generators
Eigensystem
test routines
TIMING
LIN
L
L
EIG
L
L
Linear eqn.
timing routines
Eigensystem
timing routines
Figure 1: Unix organization of LAPACK 3.0
Linear Algebra S ubprograms (the Level 1, 2, and 3 BLAS) needed by LAPACK, the testing
programs, and the timing programs
2
. Users who wish to have a non -Unix installation should
refer to LAPACK Working Note 41, although the overview in section 4 applies to both the
Unix and non-Unix versions.
The package may be accessed via the World Wide Web through the URL address:
http://www.netlib.org/lapack/lapack.tgz
Or, you can retrieve the file via anonymous ftp at netlib:
ftp ftp.netlib.org
login: anonymous
password: <your email address>
cd lapack
binary
get lapack.tgz
quit
The software in the tar file is organized in a number of essential directories as s hown
in Figure 1. Please note that this figure does not reflect everything that is contained
in the LAPACK directory. Input and instructional files are also located at various levels.
Libraries are created in the LAPACK directory and executable files are created in one of
the directories BLAS, TESTING, or TIMING
2
. Input files for the test and timing
2
programs
are also found in these three directories so that testing may be carried out in the directories
LAPACK/BLAS, LAPACK/TESTING, and LAPACK/TIMING
2
. A top-level makefile in
the LAPACK directory is provided to perform the entire installation procedure.
5
评论0