MatMulParams

#include <popsparse/MatMulParams.hpp>

Definitions for sparse matrix multiply operations.

namespace popsparse

Support for sparse matrices.

namespace dynamic

Support for dynamic sparse matrices.

Functions

std::ostream &operator<<(std::ostream&, const MatMulParams&)
class MatMulParams

Matrix multiplication parameters

These are the parameters which define a matrix multiplication with one sparse operand (always the left-hand operand) and one dense operand.

Equivalent dense multiplication for given parameters is as follows:

[groups][m][k] * [groups][k][n] = [groups][m][n]

static MatMulParams createWithNzRatio(const SparsityParams &sparsityParams, double nzRatio, std::size_t groups, std::size_t m, std::size_t k, std::size_t n)
static MatMulParams createWithNumNonZeroValues(const SparsityParams &sparsityParams, std::size_t numNonZeroElems, std::size_t groups, std::size_t m, std::size_t k, std::size_t n)
inline const SparsityParams &getSparsityParams() const
inline std::size_t getNumGroups() const
inline std::size_t getM() const
inline std::size_t getK() const
inline std::size_t getN() const
double getNzRatio() const
std::size_t getNumNonZeroValues() const
friend bool operator<(const MatMulParams &a, const MatMulParams &b)
friend bool operator==(const MatMulParams &a, const MatMulParams &b)
friend bool operator!=(const MatMulParams &a, const MatMulParams &b)

Private Members

SparsityParams sparsityParams
double nzRatio
std::size_t groups
std::size_t m
std::size_t k
std::size_t n