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