7#ifndef _poplibs_popsparse_SparsePartitioner_hpp_
8#define _poplibs_popsparse_SparsePartitioner_hpp_
10#include <poplar/Interval.hpp>
11#include <poplar/OptionFlags.hpp>
12#include <poplar/Target.hpp>
13#include <poplar/Type.hpp>
46 const PartitionerImpl &getImpl()
const {
return *impl; }
93 std::unique_ptr<PartitionerImpl> impl;
Parameters used for fully-connected layers using sparse tensors.
Definitions for sparse matrix multiply operations.
A set of option/value string flags to be used in various APIs.
Definition: OptionFlags.hpp:24
A target representation.
Definition: Target.hpp:69
Class representing device data types.
Definition: Type.hpp:42
Class to translate and encode sparsity information for a fully connected layer.
Definition: SparsePartitioner.hpp:42
SparsityDataImpl< T > createSparsityDataImpl(const COOMatrix< T > &matrix_) const
Creates implementation sparsity representation for a coordinate (COO) format matrix.
std::size_t getmetaInfoBucketElements(void) const
Fetch the number of elements in a meta info bucket.
COOMatrix< T > sparsityDataImplToCOOMatrix(const SparsityDataImpl< T > &sparsityDataImpl) const
Create a coordinate (COO) representation matrix from implementation sparsity representation.
CSCMatrix< T > sparsityDataImplToCSCMatrix(const SparsityDataImpl< T > &sparsityDataImpl) const
Create compressed sparse columns (CSC) representation from implementation sparsity representation.
CSRMatrix< T > sparsityDataImplToCSRMatrix(const SparsityDataImpl< T > &sparsityDataImpl) const
Create compressed sparse rows (CSR) representation from implementation sparsity representation.
SparsityDataImpl< T > createSparsityDataImpl(const CSRMatrix< T > &matrix_) const
Creates implementation sparsity representation for a compressed sparse rows (CSR) matrix.
std::array< std::vector< std::size_t >, 3 > getPlanPartitions(void) const
Fetch the partitions in X, Y and Z to reveal the plan.
SparsityDataImpl< T > createSparsityDataImpl(const CSCMatrix< T > &matrix_) const
Create implementation sparsity representation for a compressed sparse columns (CSC) matrix.
Class used to cache the calculation of plans for dynamically sparse operations.
Definition: PlanningCache.hpp:26
Support for sparse matrices.
Definition: codelets.hpp:8
Fully-connected layers using sparse tensors.
Block Sparse matrix stored as coordinate (COO) or triplets format.
Definition: SparseStorageFormats.hpp:38
Sparse matrix stored in compressed sparse columns (CSC) format for a matrix of size [M x N].
Definition: SparseStorageFormats.hpp:85
Sparse matrix stored in compressed sparse rows (CSR) format for a matrix of size [M x N].
Definition: SparseStorageFormats.hpp:136
Encoding of sparsity representation.
Definition: SparsePartitioner.hpp:28
std::vector< std::size_t > metaInfo
Meta information representing sparsity for each tile.
Definition: SparsePartitioner.hpp:30
std::vector< T > nzValues
The non-zero values of the sparse matrix.
Definition: SparsePartitioner.hpp:33