public class ColGroupDDC2 extends ColGroupDDC
ColGroup.CompressionType_values, LOW_LEVEL_OPT, SORT_VALUES_BY_LENGTH_colIndexes, _numRows| Constructor and Description |
|---|
ColGroupDDC2() |
ColGroupDDC2(int[] colIndices,
int numRows,
double[] values,
char[] data) |
ColGroupDDC2(int[] colIndices,
int numRows,
UncompressedBitmap ubm) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
computeRowSums(MatrixBlock result,
org.apache.sysml.runtime.functionobjects.KahanFunction kplus,
int rl,
int ru) |
protected void |
computeSum(MatrixBlock result,
org.apache.sysml.runtime.functionobjects.KahanFunction kplus) |
protected void |
countNonZerosPerRow(int[] rnnz,
int rl,
int ru)
Count the number of non-zeros per row
|
void |
decompressToBlock(MatrixBlock target,
int colpos)
Decompress to block.
|
void |
decompressToBlock(MatrixBlock target,
int rl,
int ru)
Decompress the contents of this column group into the specified full
matrix block.
|
long |
estimateInMemorySize()
Note: Must be overridden by child classes to account for additional data
and metadata
|
ColGroup.CompressionType |
getCompType()
Obtain the compression type.
|
int[] |
getCounts() |
int[] |
getCounts(int rl,
int ru) |
protected double |
getData(int r,
int colIx)
Generic get value for byte-length-agnostic access.
|
long |
getExactSizeOnDisk()
Returns the exact serialized size of column group.
|
void |
leftMultByRowVector(ColGroupDDC a,
MatrixBlock result) |
void |
leftMultByRowVector(MatrixBlock vector,
MatrixBlock result)
Multiply the slice of the matrix that this column group represents by a
row vector on the left (the original column vector is assumed to be
transposed already i.e.
|
void |
readFields(DataInput in)
Deserializes column group from data input.
|
void |
rightMultByVector(MatrixBlock vector,
MatrixBlock result,
int rl,
int ru)
Multiply the slice of the matrix that this column group represents by a
vector on the right.
|
ColGroup |
scalarOperation(org.apache.sysml.runtime.matrix.operators.ScalarOperator op)
Perform the specified scalar operation directly on the compressed column
group, without decompressing individual cells if possible.
|
protected void |
setData(int r,
int code)
Generic set value for byte-length-agnostic write
of encoded value.
|
void |
write(DataOutput out)
Serializes column group to data output.
|
computeColSums, computeRowMxx, decompressToBlock, get, getIterator, postScaling, unaryAggregateOperationsallocDVector, allocIVector, applyScalarOp, applyScalarOp, cleanupThreadLocalMemory, computeColMxx, computeMxx, containsAllZeroValue, getCounts, getCountsAsBlock, getCountsAsBlock, getNumValues, getValue, getValues, getValuesAsBlock, preaggValues, preaggValues, setupThreadLocalMemory, sumAllValues, sumAllValues, sumValues, sumValues, sumValues, sumValues, unaryAggregateOperationsgetColIndex, getColIndices, getNumCols, getNumRows, shiftColIndicespublic ColGroupDDC2()
public ColGroupDDC2(int[] colIndices,
int numRows,
UncompressedBitmap ubm)
public ColGroupDDC2(int[] colIndices,
int numRows,
double[] values,
char[] data)
public ColGroup.CompressionType getCompType()
ColGroupgetCompType in class ColGroupprotected double getData(int r,
int colIx)
ColGroupDDCgetData in class ColGroupDDCr - global row indexcolIx - local column indexprotected void setData(int r,
int code)
ColGroupDDCsetData in class ColGroupDDCr - global row indexcode - encoded valuepublic void write(DataOutput out) throws IOException
ColGroupwrite in class ColGroupout - data outputIOException - if IOException occurspublic void readFields(DataInput in) throws IOException
ColGroupreadFields in class ColGroupin - data inputIOException - if IOException occurspublic long getExactSizeOnDisk()
ColGroupgetExactSizeOnDisk in class ColGrouppublic long estimateInMemorySize()
ColGroupestimateInMemorySize in class ColGroupDDCpublic void decompressToBlock(MatrixBlock target, int rl, int ru)
ColGroupdecompressToBlock in class ColGroupDDCtarget - a matrix block where the columns covered by this column group
have not yet been filled in.rl - row lowerru - row upperpublic void decompressToBlock(MatrixBlock target, int colpos)
ColGroupdecompressToBlock in class ColGroupDDCtarget - dense output vectorcolpos - column to decompress, error if larger or equal numColspublic int[] getCounts()
getCounts in class ColGroupValuepublic int[] getCounts(int rl,
int ru)
getCounts in class ColGroupValueprotected void countNonZerosPerRow(int[] rnnz,
int rl,
int ru)
ColGroupcountNonZerosPerRow in class ColGroupDDCrnnz - non-zeros per rowrl - row lower bound, inclusiveru - row upper bound, exclusivepublic void rightMultByVector(MatrixBlock vector, MatrixBlock result, int rl, int ru) throws DMLRuntimeException
ColGrouprightMultByVector in class ColGroupvector - vector to multiply by (tall vector)result - accumulator for holding the resultrl - row lowerru - row upperDMLRuntimeException - if the internal SystemML code that performs the
multiplication experiences an errorpublic void leftMultByRowVector(MatrixBlock vector, MatrixBlock result) throws DMLRuntimeException
ColGroupleftMultByRowVector in class ColGroupvector - row vectorresult - matrix block resultDMLRuntimeException - if DMLRuntimeException occurspublic void leftMultByRowVector(ColGroupDDC a, MatrixBlock result) throws DMLRuntimeException
leftMultByRowVector in class ColGroupValueDMLRuntimeExceptionprotected void computeSum(MatrixBlock result, org.apache.sysml.runtime.functionobjects.KahanFunction kplus)
computeSum in class ColGroupDDCprotected void computeRowSums(MatrixBlock result, org.apache.sysml.runtime.functionobjects.KahanFunction kplus, int rl, int ru)
computeRowSums in class ColGroupDDCpublic ColGroup scalarOperation(org.apache.sysml.runtime.matrix.operators.ScalarOperator op) throws DMLRuntimeException
ColGroupscalarOperation in class ColGroupop - operation to performDMLRuntimeException - if DMLRuntimeException occursCopyright © 2017 The Apache Software Foundation. All rights reserved.