struct final
LinearAlgebraViennaCL
Base classes
Public static functions
-
static auto backend(const std::
string & name = "") -> const LinearAlgebraSparse& - Get backend, re-setting default.
-
static auto getBackend(const std::
string & name) -> const LinearAlgebraSparse& - Get backend.
-
static auto hasBackend(const std::
string & name) -> bool - Check if a backend is available.
-
static auto list(std::
ostream &) -> std::ostream & - List all available backends.
-
static auto name() -> const std::
string & - Return active backend name.
Constructors, destructors, conversion operators
- LinearAlgebraViennaCL()
-
LinearAlgebraViennaCL(const std::
string & name)
Public functions
- void spmv(const SparseMatrix& A, const Vector& x, Vector& y) const override
- void spmm(const SparseMatrix& A, const Matrix& X, Matrix& Y) const override
- void dsptd(const Vector& x, const SparseMatrix& A, const Vector& y, SparseMatrix& B) const override
-
void print(std::
ostream &) const override
Function documentation
static const LinearAlgebraSparse& eckit::linalg::sparse::LinearAlgebraViennaCL:: backend(const std::string & name = "")
#include <eckit/linalg/LinearAlgebraSparse.h>
Get backend, re-setting default.
static const LinearAlgebraSparse& eckit::linalg::sparse::LinearAlgebraViennaCL:: getBackend(const std::string & name)
#include <eckit/linalg/LinearAlgebraSparse.h>
Get backend.
static bool eckit::linalg::sparse::LinearAlgebraViennaCL:: hasBackend(const std::string & name)
#include <eckit/linalg/LinearAlgebraSparse.h>
Check if a backend is available.
static std::ostream & eckit::linalg::sparse::LinearAlgebraViennaCL:: list(std::ostream &)
#include <eckit/linalg/LinearAlgebraSparse.h>
List all available backends.
static const std::string & eckit::linalg::sparse::LinearAlgebraViennaCL:: name()
#include <eckit/linalg/LinearAlgebraSparse.h>
Return active backend name.
void eckit::linalg::sparse::LinearAlgebraViennaCL:: spmv(const SparseMatrix& A,
const Vector& x,
Vector& y) const override
Compute the product of a sparse matrix A and vector x
void eckit::linalg::sparse::LinearAlgebraViennaCL:: spmm(const SparseMatrix& A,
const Matrix& X,
Matrix& Y) const override
Compute the product of sparse matrix A and dense matrix X
void eckit::linalg::sparse::LinearAlgebraViennaCL:: dsptd(const Vector& x,
const SparseMatrix& A,
const Vector& y,
SparseMatrix& B) const override
Compute the product x A' y with x and y diagonal matrices stored as vectors and A a sparse matrix