home *** CD-ROM | disk | FTP | other *** search
- ------------------------------------------------------------------------------
- | Copyright (c) 1991, 1992, 1993, 1994, Silicon Graphics, Inc.
- | All Rights Reserved.
- |
- | This library is provided for exclusive use on Silicon Graphics Computers
- |
- | This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
- | the contents of this file may not be disclosed to third parties, copied or
- | duplicated in any form, in whole or in part, without the prior written
- | permission of Silicon Graphics, Inc.
- |
- | RESTRICTED RIGHTS LEGEND:
- | Use, duplication or disclosure by the Government is subject to restrictions
- | as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
- | and Computer Software clause at DFARS 252.227-7013, and/or in similar or
- | successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
- | rights reserved under the Copyright Laws of the United States.
- |
- ------------------------------------------------------------------------------
-
-
- This directory contains the test programs, a demo program and the original
- source code for the BLAS (Basic Linear Algebra Subprograms). Optimized and
- parallelized versions of the BLAS for SGI platforms are available in a
- library, libblas. This library is provided with the SGI compilers and there
- are 4 different versions. The BLAS are also available in SGI's Scientific
- Library "complib", which is available with the Fortran 4.0+ compiler.
-
- /usr/lib/libblas.a: compiled with "-O2 " flags,
- will run on all systems.
- This is NOT a parallel version.
-
- /usr/lib/libblas_mp.a: compiled with "-O2 -mp"
- will run on all systems.
- Requires Fortran compilers since it uses
- the Fortran MP library.
- This version will run in parallel on
- Power Series systems.
-
- /usr/lib/mips2/libblas.a: compiled with "-O2 -mips2 " flags,
- will run only on systems with R4000 CPUs,
- This is NOT a parallel version.
-
- /usr/lib/mips2/libblas_mp.a: compiled with "-O2 -mips2 -mp" flags,
- will run only on systems with R4000 CPUs,
- Requires Fortran compilers since it uses
- the Fortran MP library.
- This version will run in parallel on
- Challenge and Onyx systems.
-
-
- BLAS : Basic Linear Algebra Subprograms
- There are three levels of BLAS:
-
- Level 1 BLAS: for vector operations such as y <- alpha*x + y
- Level 2 BLAS: for matrix vector ops such as y <- alpha*A*x + beta*y
- Level 3 BLAS: for matrix-matrix ops such as C <- alpha*A*B + beta*C
-
- Here A, B and C are matrices, x and y are vectors and alpha and beta
- are scalars.
-
- ------------------------------------------------------------------------------
- WARNING --- Although these routines had been intensively tested,
- it is possible that a few bugs are left.
-
- ------------------------------------------------------------------------------
- - The BLAS1 routines are not parallelized, the most important are hand-
- coded in Assembly language. The optimized source code cannot be made
- available.
-
- - The original Fortran source code is provided for reference. It can
- be found in the directory src_original
-
- ------------------------------------------------------------------------------
- known problem:
-
- Performance may be reduced when arrays are perfectly aligned to cache-size
- boundaries. This may happen when "leading" dimensions are powers of two.
- For example, it is better to declare a matrice (1025,1024), rather than
- (1024,1024).
- ------------------------------------------------------------------------------
- authors: this SGI version of LIBBLAS was Optimized and Parallelized for SGI
- computers by
- Mimi Celis
- Cheng Liao
- Jean-Pierre Panziera
- Olivier Schreiber
- Marco Thiele
- ------------------------------------------------------------------------------
- Send comments/complaints/bug reports to :
-
- Mimi Celis
- Silicon Graphics
- fax : (415)967-6239
- E-Mail: celis@esd.sgi.com
-
- ------------------------------------------------------------------------------
- LINPACK is a Fortran set of subroutines which analyze and solve various
- systems of simultaneous linear algebraic equations. It uses a
- subset of the Level 1 BLAS.
-
- LAPACK (Linear Algebra PACKage) puts together a new set of linear algebra
- functions, supposed to supplant both LINPACK and EISPACK packages.
- To achieve maximum efficiency across all types of hardware, the
- LAPACK routines are based on matrix-matrix BLAS 3 routines (e.g.
- DGEMM). This implementation is much more performant than anything
- based on vector-vector Level 1 BLAS routines (e.g. DAXPY), or even
- matrix-vector Level 2 BLAS routines (e.g. DGEMV).
-
- The directory ludec contains an example program that graphically demonstrates
- the performance difference between the LU factorization in LINPACK, and the
- corresponding routine from LAPACK. To create the program, modify the Makefile
- to use the correct correct flags and libblas version for your machine. Then,
- simply type make in the ludec directory. Type RUNTEST to run it.
- ------------------------------------------------------------------------------
-