Teuchos Package Browser (Single Doxygen Collection)
Version of the Day
|
Templated BLAS wrapper. More...
#include <Teuchos_BLAS.hpp>
Private Types | |
typedef Teuchos::ScalarTraits < ScalarType >::magnitudeType | MagnitudeType |
Constructor/Destructor. | |
BLAS (void) | |
Default constructor. More... | |
BLAS (const BLAS< OrdinalType, ScalarType > &) | |
Copy constructor. More... | |
virtual | ~BLAS (void) |
Destructor. More... | |
Templated BLAS wrapper.
The Teuchos::BLAS class provides functionality similar to the BLAS (Basic Linear Algebra Subprograms). The BLAS provide portable, high- performance implementations of kernels such as dense vector sums, inner products, and norms (the BLAS 1 routines), dense matrix-vector multiplication and triangular solve (the BLAS 2 routines), and dense matrix-matrix multiplication and triangular solve with multiple right-hand sides (the BLAS 3 routines).
The standard BLAS interface is Fortran-specific. Unfortunately, the interface between C++ and Fortran is not standard across all computer platforms. The Teuchos::BLAS class provides C++ bindings for the BLAS kernels in order to insulate the rest of Petra from the details of C++ to Fortran translation.
In addition to giving access to the standard BLAS functionality, Teuchos::BLAS also provides a generic fall-back implementation for any ScalarType class that defines the +, - * and / operators.
Teuchos::BLAS only operates within a single shared-memory space, just like the BLAS. It does not attempt to implement distributed-memory parallel matrix operations.
Definition at line 244 of file Teuchos_BLAS.hpp.
|
private |
Definition at line 247 of file Teuchos_BLAS.hpp.
|
inline |
Default constructor.
Definition at line 254 of file Teuchos_BLAS.hpp.
|
inline |
Copy constructor.
Definition at line 257 of file Teuchos_BLAS.hpp.
|
inlinevirtual |
Destructor.
Definition at line 260 of file Teuchos_BLAS.hpp.