Class ColGroupDDC

    • Method Detail

      • getIdx

        public double getIdx​(int r,
                             int colIdx)
        Description copied from class: AColGroup
        Get the value at a colGroup specific row/column index position.
        Specified by:
        getIdx in class AColGroup
        Parameters:
        r - row
        colIdx - column index in the _colIndexes.
        Returns:
        value at the row/column index position
      • leftMultByMatrixNoPreAgg

        public void leftMultByMatrixNoPreAgg​(MatrixBlock matrix,
                                             MatrixBlock result,
                                             int rl,
                                             int ru,
                                             int cl,
                                             int cu)
        Description copied from class: AColGroup
        Left multiply with this column group.
        Specified by:
        leftMultByMatrixNoPreAgg in class AColGroup
        Parameters:
        matrix - The matrix to multiply with on the left
        result - The result to output the values into, always dense for the purpose of the column groups parallelizing
        rl - The row to begin the multiplication from on the lhs matrix
        ru - The row to end the multiplication at on the lhs matrix
        cl - The column to begin the multiplication from on the lhs matrix
        cu - The column to end the multiplication at on the lhs matrix
      • preAggregateDense

        public void preAggregateDense​(MatrixBlock m,
                                      double[] preAgg,
                                      int rl,
                                      int ru,
                                      int cl,
                                      int cu)
        Description copied from class: APreAgg
        Pre aggregate a dense matrix block into a pre aggregate target (first step of left matrix multiplication)
        Specified by:
        preAggregateDense in class APreAgg
        Parameters:
        m - The matrix to preAggregate
        preAgg - The preAggregate target
        rl - Row lower on the left side matrix
        ru - Row upper on the left side matrix
        cl - Column lower on the left side matrix (or row lower in the column group)
        cu - Column upper on the left side matrix (or row upper in the column group)
      • preAggregateThatDDCStructure

        public void preAggregateThatDDCStructure​(ColGroupDDC that,
                                                 Dictionary ret)
      • getColGroupType

        public org.apache.sysds.runtime.compress.colgroup.AColGroup.ColGroupType getColGroupType()
      • estimateInMemorySize

        public long estimateInMemorySize()
        Description copied from class: AColGroup
        Get the upper bound estimate of in memory allocation for the column group.
        Overrides:
        estimateInMemorySize in class AColGroupValue
        Returns:
        an upper bound on the number of bytes used to store this ColGroup in memory.
      • scalarOperation

        public AColGroup scalarOperation​(ScalarOperator op)
        Description copied from class: AColGroup
        Perform the specified scalar operation directly on the compressed column group, without decompressing individual cells if possible.
        Specified by:
        scalarOperation in class AColGroup
        Parameters:
        op - operation to perform
        Returns:
        version of this column group with the operation applied
      • binaryRowOpLeft

        public AColGroup binaryRowOpLeft​(BinaryOperator op,
                                         double[] v,
                                         boolean isRowSafe)
        Description copied from class: AColGroup
        Perform a binary row operation.
        Specified by:
        binaryRowOpLeft in class AColGroup
        Parameters:
        op - The operation to execute
        v - The vector of values to apply, should be same length as dictionary length.
        isRowSafe - True if the binary op is applied to an entire zero row and all results are zero
        Returns:
        A updated column group with the new values.
      • binaryRowOpRight

        public AColGroup binaryRowOpRight​(BinaryOperator op,
                                          double[] v,
                                          boolean isRowSafe)
        Description copied from class: AColGroup
        Perform a binary row operation.
        Specified by:
        binaryRowOpRight in class AColGroup
        Parameters:
        op - The operation to execute
        v - The vector of values to apply, should be same length as dictionary length.
        isRowSafe - True if the binary op is applied to an entire zero row and all results are zero
        Returns:
        A updated column group with the new values.
      • getExactSizeOnDisk

        public long getExactSizeOnDisk()
        Description copied from class: AColGroup
        Returns the exact serialized size of column group. This can be used for example for buffer preallocation.
        Overrides:
        getExactSizeOnDisk in class AColGroupValue
        Returns:
        exact serialized size for column group
      • getCost

        public double getCost​(ComputationCostEstimator e,
                              int nRows)
        Description copied from class: AColGroup
        Get the computation cost associated with this column group.
        Specified by:
        getCost in class AColGroup
        Parameters:
        e - The computation cost estimator
        nRows - the number of rows in the column group
        Returns:
        The cost of this column group