This software is provided without support and without any obligation on the part of Silicon Graphics, Inc. to assist in its use, correction, modification or enhancement. There is no guarantee that this software will be included in future software releases, and it probably will not be included. THIS SOFTWARE IS PROVIDED "AS IS" WITH NO WARRANTIES OF ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. If you have any problems using this account, or have suggestions concerning its use, please send electronic mail to "postmaster@sgi.com". This directory contains several versions of SGI's optimized BLAS library. The Basic Linear Algebra Subprograms, usually called BLAS, are routines for performing low-level vector and matrix operations. There are three level of BLAS. BLAS level 1 uses typically O(N) floating point operations per call and involves a Vector-Vector kind of computation. BLAS level 2 performs Matrix-Vector computations with O(N**2) floating point operations. BLAS 3 involves Matrix-Matrix operations and requires O(N**3) floating point operations. BLAS2 and BLAS3 modules have been optimized and parallelized to take advantage of SGI's RISC parallel architecture. The best performances are achieved for BLAS3 routines (e.g. DGEMM), where "outer-loop" unrolling + "blocking" techniques were applied to take advantage of the memory cache. The performance of BLAS2 routines (e.g. DGEMV) is sensitive to the size of the problem, for large sizes the high rate of cache miss slows down the algorithms. The directory 4.x contains SGI's optimized serial (not parallel) BLAS library for the R3000 (_mips1) and R4* (_mips2) based machines running IRIX 4.*. These libraries are compiled to run on a single processor. The directory 5.x contains single-processor and multiple-processor versions of the BLAS libraries for the R3000 (_mips1) and R4* (_mips2) based machines running IRIX 5.*. *** BUG FIXES The 5.x versions have several bug fixes: 1. fix for IZAMAX. 2. fix for [CZ]DOTC and [CZ]DOTU when called from C. 3. fix for dgemm problem in the A * B[transpose] case in mips2 version. These fixes will be incorporated into the IRIX release 6.2. *** 4.x/libblas_mips1_serial.a. is a serial version of /usr/lib/libblas on R3000 based machines running IRIX 4.*. This versions is NOT parallel and does not have to be linked with the -mp flag. 4.x/libblas_mips2_serial.a. replaces /usr/lib/libblas.a on Crimson and Indigo 2 running IRIX 4.*. 5.x/libblas.a replaces /usr/lib/libblas.a on systems running IRIX 5.*. 5.x/libblas.so replaces /usr/lib/libblas.so on systems running IRIX 5.*. 5.x/libblas_mp.a replaces /usr/lib/libblas_mp.a on systems running IRIX 5.*. 5.x/libblas_mips2.a replaces /usr/lib/mips2/libblas.a on systems running IRIX 5.*. 5.x/libblas_mips2.so replaces /usr/lib/mips2/libblas.so on systems running IRIX 5.*. 5.x/libblas_mp_mips2.a replaces /usr/lib/mips2/libblas_mp.a on systems running IRIX 5.*. If you are running IRIX 5.3, you will have to remove or replace - /usr/lib/libblas.so - /usr/lib/mips2/libblas.so /usr/lib/libblas.so replace by 5.x/libblas.so /usr/lib/mips2/libblas.so replace by 5.x/libblas_mips2.so There are also .so versions of /usr/lib/libblas_mp.so 5.x/libblas_mp.so.Z /usr/lib/mips2/libblas_mp.so 5.x/libblas_mp_mips2.so To load on your machine : ftp> binary ftp> get README *** IRIX 4.* versions *** ftp> get 4.x/libblas_mips1_serial.a.Z *** for an R3000 machine *** ftp> get 4.x/libblas_mips2_serial.a.Z *** for an R4* machine *** *** IRIX 5.* versions *** ftp> get 5.x/libblas.a.Z *** for an R3000 machine *** ftp> get 5.x/libblas_mp.a.Z *** for an R3000 machine *** ftp> get 5.x/libblas_mips2.a.Z *** for an R4* machine *** ftp> get 5.x/libblas_mp_mips2.a.Z *** for an R4* machine *** ftp> get 5.x/libblas.so.Z *** for an R3000 machine *** ftp> get 5.x/libblas_mp.so.Z *** for an R3000 machine *** ftp> get 5.x/libblas_mips2.so.Z *** for an R4* machine *** ftp> get 5.x/libblas_mp_mips2.so.Z *** for an R4* machine *** ftp> quit % uncompress libblas*.a.Z To link with "libblas", it is advised to use "f77 " to load all the Fortran Libraries required, e.g., % f77 -o foobar.out foo.o bar.o -lblas Any problems, comments or suggestions contact: Mimi Celis Silicon Graphics Phone : (415)390-5135 E-Mail: celis@sgi.com