SBLAS - Single Precision Basic Linear Algebra Subprograms
The SBLAS are the Single Precision version of the
BLAS, or Basic Linear Algebra Subprograms.
The BLAS are a small core library of linear algebra utilities,
which can be highly optimized for various architectures. Software
that relies on the BLAS is thus highly portable, and will typically
run very efficiently. The LINPACK and LAPACK linear algebra
libraries make extensive use of the BLAS.
-
Reference 1:
-
Dongarra, Moler, Bunch, Stewart,
LINPACK User's Guide,
SIAM, 1979.
-
Reference 2:
-
Lawson, Hanson, Kincaid and Krogh,
Basic Linear Algebra Subprograms for FORTRAN usage,
ACM Transactions on Mathematical Software,
Volume 5, Number 3, pages 308-323, 1979.
-
Reference 3:
-
Coleman and Van Loan,
Handbook for Matrix Computations,
Society for Industrial and Applied Mathematics,
3600 University City Science Center,
Philadelphia, PA 19104-2688.
Files you may copy include:
The Level 1 BLAS deal with vector - vector operations:
-
ISAMAX finds the index of the vector element of maximum absolute value.
-
ISAMIN finds the index of the vector element having minimum absolute value.
-
ISMAX finds the index of the vector element having maximum value.
-
ISMIN finds the index of the vector element having minimum value.
-
SAMAX returns the maximum absolute value of the entries in a vector.
-
SAMIN returns the minimum absolute value of entries in a vector.
-
SASUM sums the absolute values of the entries of a vector.
-
SAXPY adds a constant times one vector to another.
-
SAXPYI adds a scalar times a sparse vector to a vector.
-
SAXPYX replaces a vector by a constant multiple plus another vector.
-
SCOPY copies one real vector into another.
-
SDOT forms the dot product of two vectors.
-
SDOTI forms the dot product of a sparse vector and a full vector.
-
SDSDOT forms the dot product of two vectors using higher precision.
-
SGTHR gathers specified elements of a full vector into a sparse vector.
-
SGTHRZ gathers elements of a full vector into a sparse one, and zeroes the originals.
-
SINIT initializes a real vector to a constant.
-
SMACH computes real machine parameters.
-
SMAX returns the maximum value of all entries in a vector.
-
SMIN returns the minimum value of all entries in a vector.
-
SNRM2 computes the Euclidean norm of a vector.
-
SPAXPY adds a scalar times a sparse vector to a full one.
-
SPDOT computes the product of a sparse vector and a full one.
-
SROT applies a plane rotation.
-
SROTG constructs a Givens plane rotation.
-
SROTI applies a Givens rotation to a sparse vector.
-
SROTM applies a modified Givens plane rotation.
-
SROTMG constructs a modified Givens plane rotation.
-
SSCAL scales a vector by a constant.
-
SSCTR scatters the values of a sparse vector into a full one.
-
SSUM sums the entries of a vector.
-
SSWAP interchanges two vectors.
-
SVCAL sets a vector to a multiple of another vector.
-
SVSAME determines if two real vectors are equal.
The Level 2 BLAS deal with matrix - vector operations:
-
SGBMV SY:=alpha*A*SX+beta*SY, A a band matrix.
-
SGEMV SY:=alpha*A*SX+beta*SY, A a rectangular matrix.
-
SGER A:=A+alpha*SX*TRANSPOSE(SY), rank 1 update, A a rectangular matrix.
-
SMXPY SY:=SY+A*SX
-
SSBMV SY:=alpha*A*SX+beta*SY, A a symmetric band matrix.
-
SSPMV SY:=alpha*A*SX+beta*SY, A a packed symmetric matrix.
-
SSPR A:=A+alpha*SX*TRANSPOSE(SX), A a packed symmetric matrix.
-
SSPR2 A:=A+alpha*SX*TRANSPOSE(SY)+alpha*SY*TRANSPOSE(SX), A packed symmetric.
-
SSYMV SY:=alpha*A*SX+beta*SY, A a symmetric matrix.
-
SSYR A:=A+alpha*SX*TRANSPOSE(SX), A a symmetric matrix.
-
SSYR2 A:=A+alpha*SX*TRANSPOSE(SY)+alpha*SY*TRANSPOSE(SX), A a symmetric matrix.
-
STBMV SX:=A*SX, A a triangular band matrix.
-
STBSV SX:=INVERSE(A)*SX, A a triangular band matrix.
-
STPMV SX:=A*SX, A a packed symmetric matrix.
-
STPSV SX:=INVERSE(A)*SX, A a packed symmetric matrix.
-
STRMV SX:=A*SX, A a triangular matrix.
-
STRSV SX:=INVERSE(A)*SX, A a triangular matrix.
-
SXMPY SY:=SY+SX*A
The Level 3 BLAS deal with matrix - matrix operations:
-
SGEMM C:=alpha*A*B+beta*C, A, B, C rectangular.
-
SSYMM C:=alpha*A*B+beta*C, A symmetric, B and C rectangular.
-
SSYRK C:=alpha*A*TRANSPOSE(A)+beta*C, C symmetric.
-
SSYR2K C:=alpha*A*TRANSPOSE(B)+alpha*B*TRANSPOSE(A)+beta*C, C symmetric.
-
STRMM B:=A*B or B:=B*A, A triangular, B rectangular.
-
STRSM B:=INVERSE(A)*C or B:=C*INVERSE(A), B and C rectangular, A triangular.
Back to the FORTRAN software page.
Last revised on 27 March 2001.