public class ColGroupRLE extends ColGroupOffset
AColGroup.CompressionType| Modifier and Type | Method and Description |
|---|---|
AColGroup |
binaryRowOp(BinaryOperator op,
double[] v,
boolean sparseSafe,
boolean left)
Perform a binary row operation.
|
boolean[] |
computeZeroIndicatorVector() |
void |
countNonZerosPerRow(int[] rnnz,
int rl,
int ru)
Count the number of non-zeros per row
|
static char[] |
genRLEBitmap(int[] offsets,
int len)
Encodes the bitmap as a series of run lengths and offsets.
|
double |
get(int r,
int c)
Get the value at a global row/column position.
|
org.apache.sysds.runtime.compress.colgroup.AColGroup.ColGroupType |
getColGroupType()
Internally get the specific type of ColGroup, this could be extracted from the object but that does not allow for
nice switches in the code.
|
AColGroup.CompressionType |
getCompType()
Obtain the compression type.
|
int[] |
getCounts(int[] counts) |
int[] |
getCounts(int rl,
int ru,
int[] counts) |
int |
getIndexStructureHash() |
void |
preAggregate(MatrixBlock m,
MatrixBlock preAgg,
int rl,
int ru)
Pre aggregate for left Multiplication.
|
void |
preAggregateDense(MatrixBlock m,
MatrixBlock preAgg,
int rl,
int ru,
int vl,
int vu) |
Dictionary |
preAggregateThatDDCStructure(ColGroupDDC that,
Dictionary ret) |
Dictionary |
preAggregateThatSDCSingleStructure(ColGroupSDCSingle that,
Dictionary ret,
boolean preModified) |
Dictionary |
preAggregateThatSDCSingleZerosStructure(ColGroupSDCSingleZeros that,
Dictionary ret) |
Dictionary |
preAggregateThatSDCStructure(ColGroupSDC that,
Dictionary ret,
boolean preModified) |
Dictionary |
preAggregateThatSDCZerosStructure(ColGroupSDCZeros that,
Dictionary ret) |
boolean |
sameIndexStructure(ColGroupCompressed that) |
AColGroup |
scalarOperation(ScalarOperator op)
Perform the specified scalar operation directly on the compressed column group, without decompressing individual
cells if possible.
|
String |
toString() |
estimateInMemorySize, getBitmapOffsets, getBitmaps, getExactSizeOnDisk, hasZeros, readFields, writeaddMatrixToResult, addMinMax, allocatePreAggregate, cleanupThreadLocalMemory, containsValue, copy, copyAndSet, copyAndSet, copyAndSet, copyAndSet, decompressToBlockSafe, decompressToBlockUnSafe, getCachedCounts, getCounts, getCounts, getDictionary, getIfCountsType, getNumberNonZeros, getNumValues, getValues, getValuesAsBlock, isDense, isLossy, leftMultByAColGroup, leftMultByMatrix, leftMultByPreAggregateMatrix, leftMultByPreAggregateMatrix, preAggregateThatIndexStructure, replace, rightMultByMatrix, setupLeftMultThreadLocalMemory, setupThreadLocalMemory, tsmmgetMax, getMin, getNumRows, unaryAggregateOperations, unaryAggregateOperationsdecompressColumnToBlockUnSafe, decompressToBlockUnSafe, getColIndices, getNumCols, leftMultByMatrix, shiftColIndices, sliceColumn, sliceColumnspublic AColGroup.CompressionType getCompType()
AColGroupgetCompType in class AColGrouppublic org.apache.sysds.runtime.compress.colgroup.AColGroup.ColGroupType getColGroupType()
AColGrouppublic int[] getCounts(int[] counts)
getCounts in class ColGroupValuepublic int[] getCounts(int rl,
int ru,
int[] counts)
getCounts in class ColGroupValuepublic AColGroup scalarOperation(ScalarOperator op)
AColGroupscalarOperation in class AColGroupop - operation to performpublic AColGroup binaryRowOp(BinaryOperator op, double[] v, boolean sparseSafe, boolean left)
AColGroupbinaryRowOp in class AColGroupop - The operation to executev - The vector of values to apply, should be same length as dictionary length.sparseSafe - True if the operation return 0 on all instances of values in v -- op(v[?], 0)left - Specifies if the operation is executed on the left or right side of the values contained.public boolean[] computeZeroIndicatorVector()
public void countNonZerosPerRow(int[] rnnz,
int rl,
int ru)
AColGroupcountNonZerosPerRow in class AColGrouprnnz - non-zeros per rowrl - row lower bound, inclusiveru - row upper bound, exclusivepublic double get(int r,
int c)
AColGrouppublic String toString()
toString in class ColGroupOffsetpublic void preAggregate(MatrixBlock m, MatrixBlock preAgg, int rl, int ru)
ColGroupValuepreAggregate in class ColGroupValuem - Matrix to preAggregatepreAgg - Matrix to preAggregate intorl - Start rowru - End rowpublic void preAggregateDense(MatrixBlock m, MatrixBlock preAgg, int rl, int ru, int vl, int vu)
preAggregateDense in class ColGroupValuepublic boolean sameIndexStructure(ColGroupCompressed that)
public int getIndexStructureHash()
public static char[] genRLEBitmap(int[] offsets,
int len)
offsets - uncompressed offset listlen - logical length of the given offset listpublic Dictionary preAggregateThatDDCStructure(ColGroupDDC that, Dictionary ret)
public Dictionary preAggregateThatSDCStructure(ColGroupSDC that, Dictionary ret, boolean preModified)
public Dictionary preAggregateThatSDCZerosStructure(ColGroupSDCZeros that, Dictionary ret)
public Dictionary preAggregateThatSDCSingleZerosStructure(ColGroupSDCSingleZeros that, Dictionary ret)
public Dictionary preAggregateThatSDCSingleStructure(ColGroupSDCSingle that, Dictionary ret, boolean preModified)
Copyright © 2021 The Apache Software Foundation. All rights reserved.