Class ComputationCostEstimator
- java.lang.Object
-
- org.apache.sysds.runtime.compress.cost.ACostEstimate
-
- org.apache.sysds.runtime.compress.cost.ComputationCostEstimator
-
- All Implemented Interfaces:
Serializable
public class ComputationCostEstimator extends ACostEstimate
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ComputationCostEstimator(int scans, int decompressions, int overlappingDecompressions, int leftMultiplications, int rightMultiplications, int compressedMultiplication, int dictOps, int indexing, boolean isDensifying)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getCost(int nRows, int nRowsScanned, int nCols, int nVals, double sparsity)
Get the cost of a column group.double
getCost(AColGroup cg, int nRows)
Get the cost of a compressed columnGroup.double
getCost(MatrixBlock mb)
Get the cost of a matrix block.boolean
isDense()
boolean
shouldSparsify()
Ask the cost estimator if it is a good idea to try to sparsify a column group.String
toString()
-
Methods inherited from class org.apache.sysds.runtime.compress.cost.ACostEstimate
getCost, getCost, getCost, getCost
-
-
-
-
Method Detail
-
getCost
public double getCost(int nRows, int nRowsScanned, int nCols, int nVals, double sparsity)
Get the cost of a column group.- Parameters:
nRows
- The total number of rowsnRowsScanned
- Number of rows to process in this specific groupnCols
- Number of columns in the column groupnVals
- Number of unique tuples contained in the groupsparsity
- The sparsity of the unique tuples stored- Returns:
- A cost
-
isDense
public boolean isDense()
-
getCost
public double getCost(MatrixBlock mb)
Description copied from class:ACostEstimate
Get the cost of a matrix block.- Specified by:
getCost
in classACostEstimate
- Parameters:
mb
- A MatrixBlock- Returns:
- The cost subject to the internal cost functions
-
getCost
public double getCost(AColGroup cg, int nRows)
Description copied from class:ACostEstimate
Get the cost of a compressed columnGroup.- Specified by:
getCost
in classACostEstimate
- Parameters:
cg
- A ColumnGroupnRows
- The number of rows in the column group- Returns:
- The cost subject to the internal cost functions
-
shouldSparsify
public boolean shouldSparsify()
Description copied from class:ACostEstimate
Ask the cost estimator if it is a good idea to try to sparsify a column group. It is the same as asking if it is a good idea to make FOR on top of the column group.- Specified by:
shouldSparsify
in classACostEstimate
- Returns:
- true if yes
-
toString
public String toString()
- Overrides:
toString
in classACostEstimate
-
-