#include <Epetra_BLAS.h>
Inheritance diagram for Epetra_BLAS:
Public Member Functions | |
Constructors/Destructor. | |
| Epetra_BLAS (void) | |
| Epetra_BLAS Constructor. | |
| Epetra_BLAS (const Epetra_BLAS &BLAS) | |
| Epetra_BLAS Copy Constructor. | |
| virtual | ~Epetra_BLAS (void) |
| Epetra_BLAS Destructor. | |
Level 1 BLAS | |
| float | ASUM (int N, float *X) const |
| Epetra_BLAS one norm function (SASUM). | |
| double | ASUM (int N, double *X) const |
| Epetra_BLAS one norm function (DASUM). | |
| float | DOT (int N, float *X, float *Y) const |
| Epetra_BLAS dot product function (SDOT). | |
| double | DOT (int N, double *X, double *Y) const |
| Epetra_BLAS dot product function (DDOT). | |
| float | NRM2 (int N, float *X) const |
| Epetra_BLAS norm function (SNRM2). | |
| double | NRM2 (int N, double *X) const |
| Epetra_BLAS norm function (DNRM2). | |
| void | SCAL (int N, float ALPHA, float *X) const |
| Epetra_BLAS vector scale function (SSCAL). | |
| void | SCAL (int N, double ALPHA, double *X) const |
| Epetra_BLAS vector scale function (DSCAL). | |
| int | IAMAX (int N, float *X) const |
| Epetra_BLAS arg maximum of absolute value function (ISAMAX). | |
| int | IAMAX (int N, double *X) const |
| Epetra_BLAS arg maximum of absolute value function (IDAMAX). | |
| void | AXPY (int N, float ALPHA, float *X, float *Y) const |
| Epetra_BLAS vector update function (SAXPY). | |
| void | AXPY (int N, double ALPHA, double *X, double *Y) const |
| Epetra_BLAS vector update function (DAXPY). | |
Level 2 BLAS | |
| void | GEMV (char TRANS, int M, int N, float ALPHA, float *A, int LDA, float *X, float BETA, float *Y) const |
| Epetra_BLAS matrix-vector multiply function (SGEMV). | |
| void | GEMV (char TRANS, int M, int N, double ALPHA, double *A, int LDA, double *X, double BETA, double *Y) const |
| Epetra_BLAS matrix-vector multiply function (DGEMV). | |
Level 3 BLAS | |
| void | GEMM (char TRANSA, char TRANSB, int M, int N, int K, float ALPHA, float *A, int LDA, float *B, int LDB, float BETA, float *C, int LDC) const |
| Epetra_BLAS matrix-matrix multiply function (SGEMM). | |
| void | GEMM (char TRANSA, char TRANSB, int M, int N, int K, double ALPHA, double *A, int LDA, double *B, int LDB, double BETA, double *C, int LDC) const |
| Epetra_BLAS matrix-matrix multiply function (DGEMM). | |
| void | SYMM (char SIDE, char UPLO, int M, int N, float ALPHA, float *A, int LDA, float *B, int LDB, float BETA, float *C, int LDC) const |
| Epetra_BLAS symmetric matrix-matrix multiply function (SSYMM). | |
| void | SYMM (char SIDE, char UPLO, int M, int N, double ALPHA, double *A, int LDA, double *B, int LDB, double BETA, double *C, int LDC) const |
| Epetra_BLAS matrix-matrix multiply function (DSYMM). | |
| void | TRMM (char SIDE, char UPLO, char TRANSA, char DIAG, int M, int N, float ALPHA, float *A, int LDA, float *B, int LDB) const |
| Epetra_BLAS triangular matrix-matrix multiply function (STRMM). | |
| void | TRMM (char SIDE, char UPLO, char TRANSA, char DIAG, int M, int N, double ALPHA, double *A, int LDA, double *B, int LDB) const |
| Epetra_BLAS triangular matrix-matrix multiply function (DTRMM). | |
The Epetra_BLAS class is a wrapper that encapsulates the BLAS (Basic Linear Algebra Subprograms). The BLAS provide portable, high- performance implementations of kernels such as dense vectoer multiplication, dot products, dense matrix-vector multiplication and dense matrix-matrix multiplication.
The standard BLAS interface is Fortran-specific. Unfortunately, the interface between C++ and Fortran is not standard across all computer platforms. The Epetra_BLAS class provides C++ wrappers for the BLAS kernels in order to insulate the rest of Epetra from the details of C++ to Fortran translation. A Epetra_BLAS object is essentially nothing, but allows access to the BLAS wrapper functions.
Epetra_BLAS is a serial interface only. This is appropriate since the standard BLAS are only specified for serial execution (or shared memory parallel).
|
|
Epetra_BLAS Constructor. Builds an instance of a serial BLAS object. |
|
|
Epetra_BLAS Copy Constructor. Makes an exact copy of an existing Epetra_BLAS instance. |
1.3.9.1