Epetra_BLAS Class Reference

Epetra_BLAS: The Epetra BLAS Wrapper Class. More...

#include <Epetra_BLAS.h>

Inheritance diagram for Epetra_BLAS:

[legend]
List of all members.

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).

Detailed Description

Epetra_BLAS: The Epetra BLAS Wrapper Class.

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).


Constructor & Destructor Documentation

Epetra_BLAS::Epetra_BLAS void   )  [inline]
 

Epetra_BLAS Constructor.

Builds an instance of a serial BLAS object.

Epetra_BLAS::Epetra_BLAS const Epetra_BLAS BLAS  )  [inline]
 

Epetra_BLAS Copy Constructor.

Makes an exact copy of an existing Epetra_BLAS instance.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:43:15 2008 for Epetra by doxygen 1.3.9.1