Package org.apache.sysds.hops.estim
Class EstimatorSampleRa
java.lang.Object
org.apache.sysds.hops.estim.SparsityEstimator
org.apache.sysds.hops.estim.EstimatorSampleRa
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
ConstructorsConstructorDescriptionEstimatorSampleRa(double sampleFrac) EstimatorSampleRa(int runs, double sampleFrac, double eps, double delta, int k) -
Method Summary
Modifier and TypeMethodDescriptionEstimates 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.doubleh(int x, int y) voidsortAndTruncate(ArrayList<Double> sketch)
-
Constructor Details
-
EstimatorSampleRa
public EstimatorSampleRa() -
EstimatorSampleRa
public EstimatorSampleRa(double sampleFrac) -
EstimatorSampleRa
public EstimatorSampleRa(int runs, double sampleFrac, double eps, double delta, int k)
-
-
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 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
-
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
-
sortAndTruncate
-
h
public double h(int x, int y)
-