eckit::linalg::LinearAlgebraSparse class

Derived classes

struct LinearAlgebraCUDA final
struct LinearAlgebraEigen final
struct LinearAlgebraGeneric final
struct LinearAlgebraHIP final
struct LinearAlgebraMKL final
struct LinearAlgebraViennaCL final

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.

Public functions

void spmv(const SparseMatrix& A, const Vector& x, Vector& y) const pure virtual
void spmm(const SparseMatrix& A, const Matrix& X, Matrix& Y) const pure virtual
void dsptd(const Vector& x, const SparseMatrix& A, const Vector& y, SparseMatrix& B) const pure virtual

Private functions

~LinearAlgebraSparse() private defaulted virtual
void print(std::ostream&) const pure virtual

Friends

auto operator<<(std::ostream& s, const LinearAlgebraSparse& p) -> std::ostream&

Function documentation

void eckit::linalg::LinearAlgebraSparse::spmv(const SparseMatrix& A, const Vector& x, Vector& y) const pure virtual

Compute the product of a sparse matrix A and vector x

void eckit::linalg::LinearAlgebraSparse::spmm(const SparseMatrix& A, const Matrix& X, Matrix& Y) const pure virtual

Compute the product of sparse matrix A and dense matrix X

void eckit::linalg::LinearAlgebraSparse::dsptd(const Vector& x, const SparseMatrix& A, const Vector& y, SparseMatrix& B) const pure virtual

Compute the product x A' y with x and y diagonal matrices stored as vectors and A a sparse matrix

This website is beyond its original expiry date and the content may be out of date. The site owner has been notified and may choose to extend the expiry date and remove this banner. If you have any questions about this, please visit our support portal.