Package org.apache.sysds.hops.estim
Class EstimatorSampleRa
- java.lang.Object
-
- org.apache.sysds.hops.estim.SparsityEstimator
-
- org.apache.sysds.hops.estim.EstimatorSampleRa
-
public class EstimatorSampleRa extends SparsityEstimator
This estimator implements an approach based on row/column sampling Rasmus Resen Amossen, Andrea Campagna, Rasmus Pagh: Better Size Estimation for Sparse Matrix Products. Algorithmica 69(3): 741-757 (2014) Credit: This code is based on the original implementation provided by the authors, modified to fit the SparsityEstimator API, support binary matrix products, avoid unnecessary file access, use Well1024a for seeding local RNGs, and generally improve performance.
-
-
Nested Class Summary
-
Nested 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 Constructor Description EstimatorSampleRa()
EstimatorSampleRa(double sampleFrac)
EstimatorSampleRa(int runs, double sampleFrac, double eps, double delta, int k)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DataCharacteristics
estim(MMNode root)
Estimates the output sparsity of a DAG of matrix multiplications for the given operator graph of a single root node.double
estim(MatrixBlock m, SparsityEstimator.OpCode op)
Estimates the output sparsity for a given unary operation.double
estim(MatrixBlock m1, MatrixBlock m2)
Estimates the output sparsity for a single matrix multiplication.double
estim(MatrixBlock m1, MatrixBlock m2, SparsityEstimator.OpCode op)
Estimates the output sparsity for a given binary operation.double
h(int x, int y)
void
sortAndTruncate(ArrayList<Double> sketch)
-
-
-
Method Detail
-
estim
public DataCharacteristics estim(MMNode root)
Description copied from class:SparsityEstimator
Estimates the output sparsity of a DAG of matrix multiplications for the given operator graph of a single root node.- Specified by:
estim
in classSparsityEstimator
- Parameters:
root
- DAG root node- Returns:
- output data characteristics
-
estim
public double estim(MatrixBlock m1, MatrixBlock m2, SparsityEstimator.OpCode op)
Description copied from class:SparsityEstimator
Estimates the output sparsity for a given binary operation.- Specified by:
estim
in classSparsityEstimator
- Parameters:
m1
- left-hand-side operandm2
- right-hand-side operandop
- operator code- Returns:
- sparsity
-
estim
public double estim(MatrixBlock m, SparsityEstimator.OpCode op)
Description copied from class:SparsityEstimator
Estimates the output sparsity for a given unary operation.- Specified by:
estim
in classSparsityEstimator
- Parameters:
m
- left-hand-side operandop
- operator code- Returns:
- sparsity
-
estim
public double estim(MatrixBlock m1, MatrixBlock m2)
Description copied from class:SparsityEstimator
Estimates the output sparsity for a single matrix multiplication.- Specified by:
estim
in classSparsityEstimator
- Parameters:
m1
- left-hand-side operandm2
- right-hand-side operand- Returns:
- sparsity
-
h
public double h(int x, int y)
-
-