6#ifndef popsparse_MatMulParams_hpp
7#define popsparse_MatMulParams_hpp
17 SparsityParams sparsityParams;
35 static MatMulParams createWithNzRatio(
const SparsityParams &sparsityParams,
36 double nzRatio, std::size_t groups,
37 std::size_t m, std::size_t k,
40 createWithNumNonZeroValues(
const SparsityParams &sparsityParams,
41 std::size_t numNonZeroElems, std::size_t groups,
42 std::size_t m, std::size_t k, std::size_t n);
43 const SparsityParams &getSparsityParams()
const {
return sparsityParams; }
44 std::size_t getNumGroups()
const {
return groups; }
45 std::size_t getM()
const {
return m; }
46 std::size_t getK()
const {
return k; }
47 std::size_t getN()
const {
return n; }
48 double getNzRatio()
const;
49 std::size_t getNumNonZeroValues()
const;
51 friend bool operator<(
const MatMulParams &a,
const MatMulParams &b);
52 friend bool operator==(
const MatMulParams &a,
const MatMulParams &b);
53 friend bool operator!=(
const MatMulParams &a,
const MatMulParams &b);
56std::ostream &
operator<<(std::ostream &,
const MatMulParams &);
Parameters used for sparse tensors.
std::ostream & operator<<(std::ostream &os, const CollectiveOperator &op)
Write op to output stream os.
Support for sparse matrices.
Definition: codelets.hpp:8