last modified: 28-JUN-1989 | catalog | categories | new | search |

NESC9617 PC-BLAS.

PC-BLAS, PC Linear Algebra Subroutines

top ]
1. NAME OR DESIGNATION OF PROGRAM:  PC-BLAS.
top ]
2. COMPUTERS
To submit a request, click below on the link of the version you wish to order. Only liaison officers are authorised to submit online requests. Rules for requesters are available here.
Program name Package id Status Status date
PC-BLAS NESC9617/01 Tested 28-JUN-1989

Machines used:

Package ID Orig. computer Test computer
NESC9617/01 IBM PC IBM PC
top ]
3. DESCRIPTION OF PROGRAM OR FUNCTION

PC-BLAS is a highly optimized version of the Basic Linear Algebra Subprograms (BLAS), a standardized set of 38 routines that perform low-level operations on vectors of numbers in single- and double-precision real and complex  arithmetic.
Routines are included to find the index of the largest component of a vector, apply a Givens or modified Givens rotation, multiply a  vector by a constant, determine the Euclidean length, perform a dot  product, swap and copy vectors, and find the norm of a vector.
top ]
4. METHOD OF SOLUTION:
top ]
5. RESTRICTIONS ON THE COMPLEXITY OF THE PROBLEM

The number of components in any vector and the spacing or stride between their entries must not exceed 32,767 (2**15-1). PC-BLAS will not work with an 80286 CPU operating in "protected" mode.
top ]
6. TYPICAL RUNNING TIME

The PC-BLAS routines can be 1.2 to 4 times as fast as their FORTRAN counterparts.
NESC9617/01
NEA-DB ran the program on an IBM PC/AT microcomputer. BUST required 3 minutes; MATETSTP required 13 minutes.
top ]
7. UNUSUAL FEATURES OF THE PROGRAM

The BLAS have been carefully written to minimize numerical problems such as loss of precision and underflow and are designed so that the computation is independent of the interface with the calling program. This independence is achieved through judicious use of Assembly language macros.
top ]
8. RELATED AND AUXILIARY PROGRAMS

An initial release of PC-BLAS received from Steve Langer of Lawrence Livermore National Laboratory, was optimized for Microsoft Fortran compiler use. Portable FORTRAN versions of the BLAS are included in LINPACK (NESC 800).
top ]
9. STATUS
Package ID Status date Status
NESC9617/01 28-JUN-1989 Tested at NEADB
top ]
10. REFERENCES

- C. L. Lawson, R. J. Hanson, D. R. Kincaid, F. T. Krogh:
  "Basic Linear Algebra Subprograms for Fortran Usage"
  ACM Transactions on Mathematical Software, Vol. 5, No. 3,
  pp.308-323, September 1979
NESC9617/01, included references:
- L. Eyberger:
  PC-BLAS Flexible Disk Cartridge Description
  NESC Note 87-18  (December 8, 1986)
top ]
11. MACHINE REQUIREMENTS

PC-BLAS requires an 8087 or 80287 Numeric Data Processor.
top ]
12. PROGRAMMING LANGUAGE(S) USED
Package ID Computer language
NESC9617/01 FORTRAN-77
top ]
13. OPERATING SYSTEM UNDER WHICH PROGRAM IS EXECUTED:  DOS 2.1 or later.
NESC9617/01
MS/DOS v. 3.21; IBM PC Professional Fortran Version 1.0 compiler; Microsoft Macro Assembler Version 4.0.
top ]
14. OTHER PROGRAMMING OR OPERATING INFORMATION OR RESTRICTIONS

Because of the complexity of their specifications and the fact that they do  not normally appear in the inner loop of a linear algebra computation, subroutines SROTMG and DROTMG are provided in FORTRAN.  An auxiliary program, BUST, is included to separate the single large source file distributed into several smaller files.
Interfaces are provided for Lahey Fortran 77, Microsoft Fortran 77  and Ryan-McFarland IBM Professional Fortran.
top ]
15. NAME AND ESTABLISHMENT OF AUTHORS

     R. J. Hanson
     Division 2643
     Sandia National Laboratories
     Albuquerque, New Mexico, U. S. A.
top ]
16. MATERIAL AVAILABLE
NESC9617/01
File name File description Records
NESC9617_01.001 Information file 195
NESC9617_01.002 Package description 480
NESC9617_01.003 BUST source files 4578
NESC9617_01.004 CAXPY.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.005 CDOTC.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.006 CDOTU.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.007 CSCAL.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.008 CSSCAL.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.009 DASUM.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.010 DAXPY.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.011 DBLAAI.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.012 DCOPY.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.013 DDOT.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.014 DNRM2.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.015 DQDOT.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.016 DROT.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.017 DROTG.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.018 DROTM.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.019 DROTMG.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.020 DSCAL.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.021 DSDOT.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.022 DSWAP.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.023 ICAMAX.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.024 IDAMAX.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.025 ISAMAX.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.026 SASUM.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.027 SAXPY.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.028 SBLAAI.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.029 SCASUM.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.030 SCNRM2.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.031 SCOPY.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.032 SDOT.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.033 SDSDOT.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.034 SNRM2.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.035 SROT.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.036 SROTG.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.037 SROTM.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.038 SROTMG.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.039 SSCAL.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.040 SSWAP.OBJ (for Lahey FORTRAN compiler) 0
NESC9617_01.041 CAXPY.OBJ (for IBM Professional compiler) 0
NESC9617_01.042 CDOTC.OBJ (for IBM Professional compiler) 0
NESC9617_01.043 CDOTU.OBJ (for IBM Professional compiler) 0
NESC9617_01.044 CSCAL.OBJ (for IBM Professional compiler) 0
NESC9617_01.045 CSSCAL.OBJ (for IBM Professional compiler) 0
NESC9617_01.046 DASUM.OBJ (for IBM Professional compiler) 0
NESC9617_01.047 DAXPY.OBJ (for IBM Professional compiler) 0
NESC9617_01.048 DBLAAI.OBJ (for IBM Professional compiler) 0
NESC9617_01.049 DCOPY.OBJ (for IBM Professional compiler) 0
NESC9617_01.050 DDOT.OBJ (for IBM Professional compiler) 0
NESC9617_01.051 DNRM2.OBJ (for IBM Professional compiler) 0
NESC9617_01.052 DQDOT.OBJ (for IBM Professional compiler) 0
NESC9617_01.053 DROT.OBJ (for IBM Professional compiler) 0
NESC9617_01.054 DROTG.OBJ (for IBM Professional compiler) 0
NESC9617_01.055 DROTM.OBJ (for IBM Professional compiler) 0
NESC9617_01.056 DROTMG.OBJ (for IBM Professional compiler) 0
NESC9617_01.057 DSCAL.OBJ (for IBM Professional compiler) 0
NESC9617_01.058 DSDOT.OBJ (for IBM Professional compiler) 0
NESC9617_01.059 DSWAP.OBJ (for IBM Professional compiler) 0
NESC9617_01.060 ICAMAX.OBJ (for IBM Professional compiler) 0
NESC9617_01.061 IDAMAX.OBJ (for IBM Professional compiler) 0
NESC9617_01.062 ISAMAX.OBJ (for IBM Professional compiler) 0
NESC9617_01.063 SASUM.OBJ (for IBM Professional compiler) 0
NESC9617_01.064 SAXPY.OBJ (for IBM Professional compiler) 0
NESC9617_01.065 SBLAAI.OBJ (for IBM Professional compiler) 0
NESC9617_01.066 SCASUM.OBJ (for IBM Professional compiler) 0
NESC9617_01.067 SCNRM2.OBJ (for IBM Professional compiler) 0
NESC9617_01.068 SCOPY.OBJ (for IBM Professional compiler) 0
NESC9617_01.069 SDOT.OBJ (for IBM Professional compiler) 0
NESC9617_01.070 SDSDOT.OBJ (for IBM Professional compiler) 0
NESC9617_01.071 SNRM2.OBJ (for IBM Professional compiler) 0
NESC9617_01.072 SROT.OBJ (for IBM Professional compiler) 0
NESC9617_01.073 SROTG.OBJ (for IBM Professional compiler) 0
NESC9617_01.074 SROTM.OBJ (for IBM Professional compiler) 0
NESC9617_01.075 SROTMG.OBJ (for IBM Professional compiler) 0
NESC9617_01.076 SSCAL.OBJ (for IBM Professional compiler) 0
NESC9617_01.077 SSWAP.OBJ (for IBM Professional compiler) 0
NESC9617_01.078 CAXPY.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.079 CDOTC.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.080 CDOTU.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.081 CSCAL.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.082 CSSCAL.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.083 DASUM.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.084 DAXPY.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.085 DBLAAI.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.086 DCOPY.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.087 DDOT.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.088 DNRM2.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.089 DQDOT.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.090 DROT.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.091 DROTG.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.092 DROTM.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.093 DROTMG.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.094 DSCAL.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.095 DSDOT.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.096 DSWAP.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.097 ICAMAX.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.098 IDAMAX.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.099 ISAMAX.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.100 SASUM.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.101 SAXPY.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.102 SBLAAI.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.103 SCASUM.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.104 SCNRM2.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.105 SCOPY.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.106 SDOT.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.107 SDSDOT.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.108 SNRM2.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.109 SROT.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.110 SROTG.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.111 SROTM.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.112 SROTMG.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.113 SSCAL.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.114 SSWAP.OBJ (for Microsoft FORTRAN complr.) 0
NESC9617_01.115 DOS file-names 115
top ]
17. CATEGORIES
  • P. General Mathematical and Computing System Routines

Keywords: FORTRAN, IBM computers, algebra, algorithms, linear algebra, microprocessors, utility routines.