eckit::linalg::dense::LinearAlgebraMKL struct final

Base classes

class eckit::linalg::LinearAlgebraDense

Public static functions

static auto backend(const std::string& name = "") -> const LinearAlgebraDense&
Get backend, re-setting default.
static auto getBackend(const std::string& name) -> const LinearAlgebraDense&
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

LinearAlgebraMKL()
LinearAlgebraMKL(const std::string& name)

Public functions

auto dot(const Vector& x, const Vector& y) const -> Scalar override
Compute the inner product of vectors x and y.
void gemv(const Matrix& A, const Vector& x, Vector& y) const override
void gemm(const Matrix& A, const Matrix& X, Matrix& Y) const override
void print(std::ostream&) const override

Function documentation

static const LinearAlgebraDense& eckit::linalg::dense::LinearAlgebraMKL::backend(const std::string& name = "")

Get backend, re-setting default.

static const LinearAlgebraDense& eckit::linalg::dense::LinearAlgebraMKL::getBackend(const std::string& name)

Get backend.

static bool eckit::linalg::dense::LinearAlgebraMKL::hasBackend(const std::string& name)

Check if a backend is available.

static std::ostream& eckit::linalg::dense::LinearAlgebraMKL::list(std::ostream&)

List all available backends.

static const std::string& eckit::linalg::dense::LinearAlgebraMKL::name()

Return active backend name.

void eckit::linalg::dense::LinearAlgebraMKL::gemv(const Matrix& A, const Vector& x, Vector& y) const override

Compute the product of a dense matrix A and vector x

void eckit::linalg::dense::LinearAlgebraMKL::gemm(const Matrix& A, const Matrix& X, Matrix& Y) const override

Compute the product of dense matrices A and X