Package org.apache.sysds.hops.estim
Class EstimatorBitsetMM
java.lang.Object
org.apache.sysds.hops.estim.SparsityEstimator
org.apache.sysds.hops.estim.EstimatorBitsetMM
This estimator implements a naive but rather common approach of boolean matrix
multiplies which allows to infer the exact non-zero structure and thus is
also useful for sparse result preallocation.
For example, the following paper indicates that this approach is used for sparse
spGEMM in NVIDIA cuSPARSE and Intel MKL:
Weifeng Liu and Brian Vinter. An Efficient GPU General Sparse Matrix-Matrix
Multiplication for Irregular Data. In IPDPS, pages 370–381, 2014.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classThis class represents a boolean matrix and provides key operations.static classNested classes/interfaces inherited from class org.apache.sysds.hops.estim.SparsityEstimator
SparsityEstimator.OpCode -
Field Summary
Fields inherited from class org.apache.sysds.hops.estim.SparsityEstimator
MIN_PAR_THRESHOLD, MULTI_THREADED_BUILD, MULTI_THREADED_ESTIM -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateBitset(int m, int n) Estimates the output sparsity of a DAG of matrix multiplications for the given operator graph of a single root node.doubleEstimates the output sparsity for a given unary operation.doubleestim(MatrixBlock m1, MatrixBlock m2) Estimates the output sparsity for a single matrix multiplication.doubleestim(MatrixBlock m1, MatrixBlock m2, SparsityEstimator.OpCode op) Estimates the output sparsity for a given binary operation.
-
Constructor Details
-
EstimatorBitsetMM
public EstimatorBitsetMM() -
EstimatorBitsetMM
public EstimatorBitsetMM(int type)
-
-
Method Details
-
estim
Description copied from class:SparsityEstimatorEstimates the output sparsity of a DAG of matrix multiplications for the given operator graph of a single root node.- Specified by:
estimin classSparsityEstimator- Parameters:
root- DAG root node- Returns:
- output data characteristics
-
estim
Description copied from class:SparsityEstimatorEstimates the output sparsity for a single matrix multiplication.- Specified by:
estimin classSparsityEstimator- Parameters:
m1- left-hand-side operandm2- right-hand-side operand- Returns:
- sparsity
-
estim
Description copied from class:SparsityEstimatorEstimates the output sparsity for a given binary operation.- Specified by:
estimin classSparsityEstimator- Parameters:
m1- left-hand-side operandm2- right-hand-side operandop- operator code- Returns:
- sparsity
-
estim
Description copied from class:SparsityEstimatorEstimates the output sparsity for a given unary operation.- Specified by:
estimin classSparsityEstimator- Parameters:
m- left-hand-side operandop- operator code- Returns:
- sparsity
-
createBitset
-
createBitset
-